伤害计算
本页讲一次攻击最终扣掉多少生命。全作只有一条出伤管线,普通攻击、技能、法咒、陷阱与反伤都按同一套次序结算。
次序是:伤害构成 → 格挡 → 防护 → 抗性 → 所受伤害 → 取整。防御环节分三句,次序不能颠倒:格挡是防御方挡住或拨开攻击、削减冲击,持盾牌时还能格挡远程攻击,法术不能格挡;防护是攻击的效果被防具完全或部分抵消,在抗性之前生效;抗性按百分比减少某一类伤害。
伤害构成
面板上的十三类伤害各自取值,再分成两个乘区:
| 组 | 类型 | 乘的系数 |
|---|---|---|
| 物理(4 类) | 劈砍 / 穿刺 / 钝击 / 撕裂 | 兵器伤害 ÷ 100
|
| 自然 + 魔法(9 类) | 灼烧 / 霜冻 / 电击 / 中毒 / 腐蚀 / 秘术 / 神圣 / 邪术 / 灵能 | 法力 ÷ 100
|
即:
物理 4 类 → × (兵器伤害 / 100)
其余 9 类 → × (法力 / 100)
兵器与法力是两个独立乘区,不互换。一件纯物理兵器上附带的 +8 灼烧伤害,吃的是法力,不是兵器伤害。
再乘上攻击判定阶段定下的全局倍率(暴击为暴击效果、失手为 0.5、反伤为反伤百分比)。这个倍率同时缩放物理与魔法两部分。
几个特例
| 情况 | 结果 |
|---|---|
| 玩家主手槽没有兵器 | 兵器伤害系数强制为 100% |
| 敌人徒手 | 伤害 = 1.2 × 力量,且不吃兵器伤害系数
|
| 术士召唤的星体幻影 | 秘术伤害被转化为治疗 |
格挡吸收
格挡力量是一条会涨会跌的数值
格挡力量不是「有 30 点就永远能挡 30 点」的阈值,而是面板上写着「当前 / 上限」的那条数值,像生命条一样会被打掉、又会每回合回涨。格挡吸收分三层:
- 现在还剩多少 —— 每次格挡成功都要从这条数值里扣掉一部分,每回合再按格挡力量恢复的百分比涨回来。
- 一次格挡能动用多少 —— 能动用的就是「现在还剩下」的那个数。它不是每种伤害类型各自扣一份,而是把这一整笔数当作总预算,按这次攻击里各类型伤害所占的份额切开,每类只用自己的那一份。
- 物理与魔法各算一遍 —— 物理四类按上面的办法分一遍,魔法九类再拿同一笔数重新分一遍,两次互不影响。两趟扣掉的总量一起从这条数值里减去。
具体到每次格挡,每种类型能用的额度各自独立算出来:
该类型额度 = k × 格挡力量 × ( 该类型伤害 ÷ 本次攻击十三类伤害之和 )
该类型实际挡下 = min( 该类型伤害, 该类型额度 )
用格挡力量上限 30 承受 20 劈砍 + 10 灼烧:
| 类型 | 份额 | 该分到的预算 | 实际吸收 | 穿透后剩余 |
|---|---|---|---|---|
| 劈砍 20 | 20/30 | 1 × 30 × 0.667 = 20.0 |
20.0 | 0 |
| 灼烧 10 | 10/30 | 0.66 × 30 × 0.333 = 6.6 |
6.6 | 3.4 |
| 伤害组 | 吸收效率 |
|---|---|
| 物理(劈砍 / 穿刺 / 钝击 / 撕裂) | 1 点格挡力量吸 1 点 |
| 自然与魔法(其余 9 类) | 1 点格挡力量只吸 0.66 点,即减弱 33% |
吸收效率与消耗速度
格挡对魔法伤害与自然伤害的折扣分两层,量的是两件事:
| 量的是什么 | 数值 | 表现 |
|---|---|---|
| 吸收效率 | 每点格挡力量吸 0.66 点魔法伤害 | 「减弱 33%」 |
| 格挡力量的消耗 | 每吸 1 点魔法伤害,格挡力量掉 2 点 | 即所谓「2 点抵 1 点」 |
即魔法伤害挡得少(67%),而且掉得快(2 倍);物理伤害则是 1 : 1。
格挡力量每回合按格挡力量恢复的百分比回涨,上限 30、恢复 20% 时每回合回 6 点。
格挡力量上限与力量有关,且受所用兵器类别影响:
| 兵器 | 系数 | 兵器 | 系数 |
|---|---|---|---|
| 单手刀剑 | 1.10 | 双手刀剑 | 1.25 |
| 长杆刃器 | 1.00 | 长柄法杖 | 0.90 |
| 双手锤棒 | 0.90 | 双手斧 | 0.85 |
| 单手锤棒 | 0.75 | 单手斧 | 0.75 |
| 匕首 | 0.50 | 盾牌 / 空手 | — |
用盾牌格挡损耗盾牌耐久,不用盾牌格挡损耗兵器耐久。
防护
防护同样是一份预算按份额分摊,而且先减防护、再乘抗性。
净伤 = 取整( (类型伤害 − 穿甲系数 × k × 部位防护 × 类型份额) × max(1 − 抗性/100, 0) × 所受伤害/100 )
| 符号 | 含义 |
|---|---|
| 类型份额 | 该类型伤害 ÷ 总伤害 |
| k | 物理 = 1,自然与魔法 = 0.66 |
| 部位防护 | 被命中那一个部位的防护值 |
| 穿甲系数 | 1 − 护甲穿透/100
|
| 抗性 | 该类型的部位抗性 |
| 所受伤害 | 面板「所受伤害」÷ 100 |
- 混合伤害会把防护稀释。20 劈砍 + 10 灼烧打 8 点防护时,劈砍只分到
8 × 20/30 = 5.33,灼烧分到0.66 × 8 × 10/30 = 1.76。 - 自然与魔法伤害的防护效率只有 0.66。
- 穿甲 100% 时防护完全失效。法咒用法咒护甲穿透,兵器用护甲穿透。
- 防护对物理与自然 / 魔法的减免是同一条公式,只是系数不同。
防护分四个数值,对应四组部位:
| 部位 | 取用哪件防具的防护 |
|---|---|
| 头部 | 头部防具 |
| 躯干 | 躯干防具 |
| 手臂(左手 / 右手) | 手部护具 |
| 足部(双腿 / 右腿) | 足部护具 |
每次攻击打哪个部位是随机的。
抗性
抗性直接乘在上面那条算式的中间段:× max(1 − 抗性/100, 0)。
抗性可以为负,此时它是伤害放大器(−50% 抗性 → ×1.5)。
算例:10 点灼烧伤害,因下雨处于潮湿获得合计 50% 灼烧抗性,实际受到 5 点。
抗性的完整分类见防御属性。
所受伤害
最后一道总系数,在防护与抗性之后生效。
玩家「所受伤害」的下限是 25%,所以不可能把伤害归零。
取整
取整发生在三个阶段:
- 每一种伤害类型各自取整一次,且各自做一次「不小于 0」的下限;
- 十三项相加时,魔法组、自然组各先取整一次;
- 最后总和再取整一次。
不存在「最后统一取整」,所以手算与面板之间会有零头差异。
示例
设定:
- 攻击方:劈砍 20 + 灼烧 10,兵器伤害 100%、法力 100%;本次未暴击、未失手。
- 防守方:生命上限 100,被命中右腿,腿部防护 8;全抗性 0%,所受伤害 100%;本次未格挡。
| 步 | 阶段 | 算式 | 结果 |
|---|---|---|---|
| 1 | 伤害构成 | (20 × 1.0) + (10 × 1.0) |
30 |
| 2 | 部位选取 | 随机抽中右腿(本示例指定) | 右腿 |
| 3 | 防护 | 劈砍 20 − 1 × 8 × 20/30灼烧 10 − 0.66 × 8 × 10/30 |
round(14.67) = 15round(8.24) = 8
|
| 4 | 抗性 | 均为 0% | 15 / 8 |
| 5 | 所受伤害 | × 1.0 | 15 / 8 |
| 6 | 结算 | round(15 + 8) |
23 点生命 |
防护按份额分摊,不是每类型各减 8:劈砍只分到 8 × 20/30 = 5.33 的预算。结算发生在部位选定之后,所以打哪里会直接决定这次攻击吃多少防护。
与生命损失并行结算、互不影响的还有副效果进度条、疼痛与肢体伤害,见特殊伤害与身体部位与伤势。
出伤路径
除了下面七个入口,游戏里没有别的造成伤害的方式,因此任何伤害都走同一套防御结算:
| 场景 | 全局倍率 |
|---|---|
| 普通命中 | 1,或暴击效果 |
| 失手 / 闪躲降格 | 0.5 |
| 格挡 | 1 / 0.5 / 暴击效果,再扣格挡预算 |
| 反伤 | 反伤百分比 |
| 技能 / 环境直伤 | 由技能给定 |
| 法咒 | 暴击时用奇观效果 |
| 陷阱 | 固定 1 |