编者:Tommi Gustafsson
译者:Pansesus
译者注:
1 表格我已经全力修改了,但错位难以避免。请大家原谅。
2 抗性的表面数值可以大于100,这主要是因为LR和Conviction的计算问题,请大家注意。
3 现在的神符Crescent Moon出现了魔法吸收属性(Magic Absorb )
一、伤害类型
D2中一共有6种不同的伤害类型:火、冰、电、毒、魔法和物理(实体)。虽然人物状况栏里只有4种抗性的数值,但每一种伤害类型都有相对应的抗性。
1.1 伤害类型的例子
火系伤害 大火球(女巫)和火焰箭(亚马逊)
冰系伤害 冰封球(女巫)和冰冻箭(亚马逊)
电系伤害 新星(女巫)和闪电之怒(亚马逊)
毒系伤害 毒之新星(死灵法师)
魔法伤害 骨矛、骨灵(死灵法师)和狂战士(野蛮人)
物理伤害 普通攻击伤害和大部分的其他非元素伤害
1.2 毒系伤害与中毒持续时间
与其他的伤害类型不同,毒系的最终伤害由两个变量决定:每帧的毒系伤害和中毒持续时间。总伤害的计算公式是:每帧毒系伤害 x 中毒持续时间(单位:帧,每25帧为1秒)因此,有两个相当于抗性的属性可作用于毒系伤害:毒系抗性(Poison Resistance)和减少中毒持续时间(Poison Length Reduction),前者影响每帧的毒系伤害量,而后者影响中毒时间。
二、可以改变伤害的参数
游戏中一共有8种可以改变伤害的参数
抗性(Resistances)
百分比吸收(Percentage absorb)
直接吸收(Direct absorb)
伤害减少X或魔法伤害减少X(Damage reduced by X and Magic damage reduced by X)
女巫的能量护盾(Energy Shield)
死灵法师的骨甲和德鲁伊的旋风甲(Bone Armor and Cyclone Armor)
因角色而造成的伤害改变(如PvP伤害的改变)
减少中毒持续时间(Poison Length Reduction)
2.1 伤害改变参数的属性
这些属性已列于下面的表格中。请注意没有任何技能、属性或物品能改变魔法伤害的抗性。因此,玩家角色和佣兵的魔法抗性永远为0。
(1)75%是玩家角色与佣兵一般情况下的上限
(2)95%是在穿上+最大抗性的装备(如守护天使Guardian Angel )后可能达到的上限。
(3)100%是绝对上限,无法超越的(注)。拥有100%抗性的怪物意味着对此伤害类型免疫。
(4)难度惩罚只作用于玩家和佣兵,对怪物、石魔(Golem)和属下(Minion)无效
(5)50%是玩家和佣兵正常情况下的上限
2.2 魔法伤害减少(MDR)对持续性(每帧伤害计算)法术的作用效果
在作用于一些特定的持续性魔法时,MDR的效果会被削弱。(详情请看我翻译的“1.10 里魔法伤害降低属性的改变对每帧伤害法术的影响”)
2.3 因角色而造成的伤害改变(XvX)
伤害会因为攻击者和防御者(称为XvX因素)的种类不同而发生改变,下表列出了所有可能的情况
2.4 从吸收属性中获得的生命值
吸收装备只会给你数值相当于其实际抵消伤害的生命值。角色从吸收属性中获得的生命值会直接加在玩家当前的生命值上。但总和不得超过其最大生命值。因此,即使你的吸收值很高,也依旧有可能遭受伤害。实际上,如果最终伤害超过了玩家的最大生命值,吸收装备是不能将角色从死神那里救回来的了。
三、抗性的计算
3.1 抗性计算的顺序与和改变伤害参数的影响
抗性会因为某些技能的影响或是难度惩罚而减少。以下是抗性计算的顺序:
1 抗性
确定需要计算的抗性种类,将装备上、技能上和其他有关属性上具有的该种抗性的数据加起来(求和)。
2 能够降低抗性的诅咒、灵气
减掉能够降低抗性的诅咒、灵气对抗性造成的影响,如果这些技能是作用于具有该项伤害免疫的怪物,那么效果要除以5。这些技能包括:
(1)X取决于技能对抗性的减少值
3 角色降低抗性的技能和魔法属性
再计算能够降低抗性,但不直接作用于目标的技能和魔法属性造成的影响。它们无法影响免疫怪物的抗性,但如果怪物在前一步骤中被破免,则这些技能和魔法属性将发挥全效。
(1)X取决于技能或魔法属性对抗性的减少值
(2)指的是到此步为止抗性依旧是100的怪物
4 难度惩罚
减去难度惩罚的数据,这一条只作用于玩家与佣兵,对怪物、石魔(Golem)和属下(Minion)无效。
5 上限与下限
根据上限与下限改变数据,注意怪物、石魔(Golem)和属下(Minion)的上下限同玩家、佣兵的不一样。
6 忽略抗性的影响
技能和魔法属性中“忽略抗性”(如圣骑士的避难所Sanctuary )在此步奏效,如果该步骤前抗性大于0,则将抗性设为0。如果抗性小于0,则本属性没有任何作用。这一影响只作用于数值计算上,计算机不会改变目标的实际抗性的。
3.2 抗性计算中需要注意的几点
那些能够降低毒系抗性的技能和物品属性同时也能降低“减少中毒持续时间”(PLR)对结果的影响。举个例子,-50%敌人毒系抗性减少50点毒系抗性和50点PLR。
天堂之拳(Fists of Heavens)的闪电攻击无法减少抗性。
ActV所得到的卷轴可以增加10%的冰、火、电、毒抗性。
四、计算顺序
4.1 伤害改变参数的影响:
伤害改变参数对最终伤害的影响有极为严格的顺序:
1 因角色而造成的伤害改变(XvX)
2 女巫的能量护盾(Energy Shield)
3 死灵法师的骨甲和德鲁伊的旋风甲(Bone Armor and Cyclone Armor)
4 伤害减少X或魔法伤害减少X(DR and MDR)
5 抗性(Resistances)
6 百分比吸收(% Absorb)
7 直接吸收(Direct Absorb)
计算中的每一步都不能把伤害降到0以下的,得到的结果我称之为Damage Dealt(DD)。最后的三步计算如下所示:
1 将法力值减去(32 - 心灵传动Telekinesis基础等级) / 16 x 由ES所吸收的伤害
2 加入吸收所得到生命值
3 生命值再减掉DD的伤害
4.2 其他的影响
“伤害转换为魔法消耗”属性的影响在所有伤害改变参数计算完后计算
因为荆棘灵气(Thorns)、攻击反噬(Iron Maiden)和荆棘之灵(Spirit of the Barbs)所造成伤害的计算是基于对方所有伤害改变参数作用之后所得到的伤害值。
4.3 防御(Defense)与格挡(Blocking )与伤害改变之间的关系
防御与格挡是在to-hit(打击)一步中进行计算的,这一步骤发生于伤害计算之前。游戏中准确的计算顺序是这样的:
1 检查防御力
2 检查格挡几率(防御者跑动时减为原来的1/3,跑动的刺客武器格挡(Weapon Block)忽略不计)
3 决定攻击者是否造成伤害,是则击中目标
4 进行伤害的计算
五、伤害计算公式
5.1 Damage Dealt,获得生命(Life Gained)和失去法力(Mana Lost)的计算公式
假设每一步计算中伤害值都没有减到0,则我们可以得到得到下面三个关于Damage Dealt,获得生命和失去法力的计算公式:
Damage Dealt = (Damage * XvX / 100 * (1 - ES / 100) - ArmorSkill - DR) * (1 - Resistance / 100) * (1 - Absorb% / 100) -
Absorb
Life Gained = (Damage * XvX / 100 * (1 - ES / 100) - ArmorSkill - DR) * (1 - Resistance / 100) * Absorb% + Absorb
Mana Lost = (32 - TelekinesisBaseLevel) / 16 * Damage * XvX / 100 * ES / 100
此公式中的Resistance, Absorb%, XvX, 和ES都取的是整数,比如说50。
5.2 最终伤害
如果我们再假设获得的生命值全部加到了角色的生命条中(没有超过最大生命值),那么最终伤害如下所示(实际上就是将Damage Dealt伤害与吸收所得生命相减):
最终伤害 = Damage Dealt - Life Gained
将其他数据代入,我们得到:
最终伤害 = (Damage * XvX / 100 * (1 - ES / 100) - ArmorSkill - DR) * (1 - Resistance / 100) * (1 - 2 * Absorb% / 100) - 2 *
Absorb
如果最终伤害为负数,你将得到生命值。
对公式的解释:
Damage:攻击者的初始伤害
XvX:因角色而造成的伤害改变,数值见上表
ES:女巫的能量护盾(减少除去毒系伤害的其他伤害)
ArmorSkill:死灵法师的骨甲(减少物理伤害)和德鲁伊的旋风甲(减少冰、火、电伤害)
DR:伤害减少X(减少物理伤害)或魔法伤害减少X (减少冰、火、电、魔法伤害)
Resistance:抗性(减少相对应的伤害类型)或伤害减少X%(减少物理伤害)
Absorb%:百分比吸收(减少相对应的伤害类型)
Absorb:直接吸收(减少相对应的伤害类型)
TelekinesisBaseLevel:心灵传动Telekinesis基础等级(女巫电系魔法)
下面是声明,懒得译了,终于……吁——
Acknowledgements
Adamantine for pointing out several omissions and mistakes in an early version of the page updated to the 1.10 version of
Diablo 2.
Adeyke for information about resistance calculations.
Jarulf for the application order of the damage modification effects and for the information about unit type modifications.
Ruvanal for testing that MDR applies to fire, cold, lightning and magic damage but not poison damage.
Steve Estes for suggesting to add the application point of Damage Goes To Mana and how defense and blocking relate to damage
modification effects.