Stoneshard Wiki

伤害与抗性

伤害结算先组合伤害类型,再按命中部位的防护、穿透、类型抗性与所受伤害计算各分量。本文据 0.9.4.25 干净游戏脚本给出可复算的单项伤害示例;命中和暴击仍按具体动作另行判定。

目录

先看结算顺序

查看一次命中的伤害,先分清四层数值。下面的顺序适用于已命中的伤害;具体动作的命中与暴击判定另算。

先看结算顺序
顺序查看的数值它做什么
1 · 伤害输入动作、武器伤害或法术强度决定这次攻击包含哪些类型、各有多少伤害。
2 · 格挡目标是否格挡若发生格挡,先减少进入类型计算的伤害。
3 · 防护与抗性命中部位防护、穿透、对应类型抗性穿透削弱防护的扣减量;对应抗性再作用于剩余伤害。
4 · 所受伤害目标的所受伤害修正最后作为独立倍率参与计算。

单项伤害怎么算

假设攻击已经命中,没有暴击和格挡,动作与武器缩放后只留下 40 点劈砍伤害。目标命中部位的防护为 10、护甲穿透为 25%、劈砍抗性为 20%、所受伤害为 100%。这些只是算例输入。

多个伤害类型会按各自占比分摊防护,再分别计算并取整。物理类型的防护系数为 1,自然与魔法类型为 0.66;这个系数只影响防护扣减,不直接把全部自然或魔法伤害乘 0.66。

单项伤害怎么算
步骤代入计算结果
分摊防护40 ÷ 40本类型占比 1
穿透后防护10 × (1 − 25%) × 1扣除 7.5
劈砍抗性1 − 20%剩余倍率 0.8
最终伤害四舍五入[(40 − 7.5) × 0.8 × 1]26 点

伤害如何组合

动作先提供基础倍率。四种物理伤害按 Weapon Damage ÷ 100 缩放;九种自然和魔法伤害按 Magic Power ÷ 100 缩放。各类型随后分别结算,再汇总成这次命中的伤害。

普通攻击与法术分别读取 Armor Penetration 和 Spell Armor Penetration。穿透只改变参与扣减的防护比例,不能直接当作类型抗性或所受伤害修正。

若发生格挡,格挡先减少进入类型计算的伤害。结算每个类型时,防护扣减后再乘对应类型抗性与所受伤害修正,类型结果分别取整。

伤害类型

游戏把伤害分成三组。类型名称来自属性表;同组抗性会作为共同修正参与对应分量,具体物品或技能造成哪些类型应回到它自己的条目。

伤害类型
伤害类型结算分组
劈砍伤害物理
穿刺伤害物理
钝击伤害物理
撕裂伤害物理

自然与魔法分量

自然组包含灼烧、霜冻、电击、中毒和腐蚀;魔法组包含秘术、邪术、神圣和灵能。这里的分组只说明属性结算归属,不把自然或魔法自动等同于某一种技能学派。

自然与魔法分量
伤害类型结算分组
灼烧伤害自然
霜冻伤害自然
电击伤害自然
中毒伤害自然
腐蚀伤害自然
秘术伤害魔法
邪术伤害魔法
神圣伤害魔法
灵能伤害魔法

抗性如何叠加

角色属性重算先读取物理、自然和魔法三组总抗性,再把它们加到对应的类型基础抗性上:物理抗性影响劈砍、穿刺、钝击和撕裂;自然抗性影响火焰、冰霜、电击、毒素和腐蚀;魔法抗性影响秘术、邪术、神圣和心灵。组合值通常限制在 −200 到 300。

所受伤害是独立的乘性输入,来源把它限制在 25 到 200,并明确它在 Protection 与 Resistances 之后生效。因此“所受伤害”不能直接当作某一种抗性,也不能提前替代护甲或类型抗性。

抗性如何叠加
抗性组覆盖类型
物理抗性劈砍、穿刺、钝击、撕裂
自然抗性灼烧、霜冻、电击、中毒、腐蚀
魔法抗性秘术、邪术、神圣、灵能

护甲穿透与部位

Armor Penetration 与 Spell Armor Penetration 在属性重算时分别限制为 0—100;进入伤害类型结算时再转换为前述的剩余比例。护甲防护、类型抗性和所受伤害是不同层次,装备上的数值应按游戏显示的属性名称放入对应层。

若伤害命中身体部位,部位命中路径还会用 Bodypart Damage 影响该部位的伤情,并按部位读取防护与抗性。身体伤情不是最终伤害类型抗性;要处理伤口、出血和生命阈值,请继续阅读身体状态词条。

命中后的附加效果

正伤害处理之外,命中脚本还会分别检查出血、硬直、击退、眩惑、限制移动和破衡机会,并读取目标对应抗性。它们是附加效果机会,不是把所有控制效果折算进一个伤害数值;某次动作是否拥有这些机会,要查看动作自身提供的参数。

当前资料边界

本页已核对单项伤害的防护与抗性计算,但没有把命中判定、暴击倍率、不同动作的附加修正和所有部位效果合成一个万能公式。上面的 26 点算例只适用于列出的输入;实际伤害应按本次动作、目标部位和状态逐项代入。

参考资料

资料版本 0.9.4.25

  1. 0.9.4.25 官方属性表:伤害类型、抗性、穿透与所受伤害名称
  2. 0.9.4.25 战斗伤害组合、格挡分组与穿透入口
  3. 0.9.4.25 干净游戏脚本 scr_damage_type_calc:分摊防护、类型抗性、所受伤害及取整
  4. 0.9.4.25 属性重算中的抗性分组与数值边界
  5. 0.9.4.25 命中、部位伤情与附加效果入口
回到开头 ↑