DungeonSettlers.wiki

战斗公式

Steam

Every combat number on this page is read straight from the game's own tables (DS_B.0.4.23); the table or constant is named next to each. Values are the player-side defaults (monsters use their own base stats). This is the same math the 角色构筑器 所用算法相同。

属性计算链 顺序很重要

每个单位有六项 主要 属性(力量、体质、意志、智力、敏捷、感知),它们决定每一项 最终 属性。两者都按固定顺序计算 - 先固定值,后百分比。

  1. 主属性 = 基础 10 + 每级天赋成长 + 固定加成,然后 x (1 + 百分比加成之和)。每级天赋成长由该属性的天赋层级(较差到天才)乘上升级供奉倍率决定 - 见 天赋与属性.
  2. 最终属性 = 其 基础值 + Σ(主属性 x 其系数)+ 固定加成,然后 x (1 + PerModifier %)。系数见下表(StatusValueTable);PerModifier % 是效果施加者、铭文和难度生效的位置(例如 MaxHealthTotalPerModifier_50 = +50% HP)。

因为百分比加成作用于 之后 固定值合计之后,+50% 修正会乘以整个固定值合计,而不仅是基础值。

每点属性值 各主属性 1 点提供的数值

主属性每 1 点会把下方数值加到各项最终属性上(来自 StatusValueTable)。要点如下: 1 体质 = +9 最大 HP, 1 力量 = +1 物理攻击力, 1 智力 = +1.2 魔法攻击力.

最终属性基础值力量体质意志智力敏捷感知
总最大生命值205-+9----
物理攻击力13.5+1---+0.5+0.5
魔法攻击力13.5--+0.4+1.2-+0.4
攻击速度0.4----+0.01-
暴击几率8%-----+0.3
冷却时间降低0--+0.3---
物理抗性0-+0.3----
魔法抗性0---+0.3--
最大能量60--+2---
移动速度80----+0.2-
最大负重100+4-----

基础值是主属性加入前的固定起始值。空白 = 该主属性不影响该属性。六项非战斗能力(采矿、研究、烹饪...)各自主属性每 1 点缩放 +0.05,此处省略。

计算示例

一个拥有 20 体质 的单位为 205 + 9x20 = 385 最大 HP (在任何百分比修正之前)。若 20 力量 / 15 敏捷 / 12 感知 ,其物理攻击力为 13.5 + 1x20 + 0.5x15 + 0.5x12 = 47.

命中伤害 攻击、暴击、命中部位、格挡

普通攻击造成的伤害等于攻击者的 物理魔法攻击力 (按武器的伤害类型),再经以下项调整,然后才计算目标抗性:

  • 暴击:将伤害乘以 x1.5 (GAMESYSTEM_Combat_Basic_CriticalDamageModifier)。暴击几率从 8% 起,感知每 1 点 +0.3%。
  • 命中部位:每次命中掷出 30% 头部 / 70% 身体 (GAMESYSTEM_Combat_DamagePartsRatio)。单位分别记录头部和身体 HP;任一条清空即击倒该单位。
  • 格挡:格挡成功时将伤害削减 50% (GAMESYSTEM_Combat_Basic_GuardReduction),并保护武器耐久。

示例:47 物理攻击力发生暴击时造成 47 x 1.5 = 70.5 (抗性结算前)。

抗性 收益递减

每种伤害类型(斩击、打击、穿透,以及魔法元素奥术、火、冰、闪电、神圣、黑暗)都有各自的抗性,从 0 起。物理抗性体质每 1 点 +0.3,魔法抗性智力每 1 点 +0.3(StatusValueTable).

受到的伤害 = 原始伤害 x 100 / (100 + R),其中 R 是你对该伤害类型的抗性(收益递减曲线,社区已验证)。因此 R = 50 时放行 100/150 = 67% (削减 33%);R = 100 时放行 50%;R = 200 时放行 33%。抗性永远不会达到完全免疫,每一点的价值都略低于前一点。

持续伤害 出血、燃烧、中毒

出血和燃烧是 可叠加 减益,每层每秒伤害固定(来自 AffecterTable FloatValues) - 并 随攻击者的攻击力提高;施加该效果的技能决定叠上多少层。中毒是单独的 不可叠加 效果(见表下注释)。

效果伤害伤害类型最大层数
出血层数 x 5 每秒物理, ignores shields99
燃烧层数 x 3 每秒魔法, ignores shields50
中毒每 10 秒最大 HP 的 1%无属性,无视防御1(无叠加)
中毒全文。 每 10 秒造成目标最大生命值 1% 的无类型伤害,无视防御。不可叠加;随目标最大生命值缩放,不随施法者攻击力缩放。示例:500 HP 的目标每 10 秒受到 5 伤害。持续时间由施加该效果的技能决定。 This matches the 上限效果 页面一致,该页仅将中毒计为不可叠加(上限为 1)的效果。

计算器覆盖两个已确认的可叠加持续伤害, 出血 (物理)和 燃烧 (魔法):两者都无视护盾,施加该效果的技能设定层数,每秒伤害固定且从不随攻击力提高。 中毒 被有意排除在计算器外 - 它不可叠加,并且按自己的 10 秒节拍触发,而不是每秒跳一次(见表下注释)。

包围 已写入,未生效

数据中已定义,此版本未启用。 包围 (GAMESYSTEM_Combat_StrategyRule_Encirclement) is authored as a constant, but a decompile of DS_B.0.4.23 shows 没有战斗代码读取它 - 命中和暴击结算没有位置或周围单位项,该常量从未被加载。所以它目前 无效果 (对玩家或怪物皆然)。下方数字是它 在开发者将其接上后产生的作用。

若启用,包围敌人会奖励站位:每有一名盟友单位围攻同一目标,攻击者获得 +10% 命中几率+5% 暴击几率.

该常量写为 每个周围单位,因此加成从第一个侧翼单位就开始计算(没有「免费」的第一个单位):三名攻击者围住一名敌人会提供 +30% 命中、+15% 暴击。因为战斗路径不分阵营,它也会 对称地 - 包围你一名单位的敌人也会对该单位获得同样的好处。

难度缩放 战斗轴

战斗 难度设置通过以下项缩放怪物属性 AFFECTER_MonsterDifficulty* (按 PerModifier % 应用)。较易设置削弱怪物攻击;较难设置同时提高 HP 和攻击。 在 毁灭 上,怪物的 HP 为 1.5 倍、攻击力为 1.5 倍(以 困难 为基准)。 完整的经济/管理轴见 难度 页面。

战斗难度怪物 HP怪物攻击
简单基准-85%
普通基准-60%
困难 (基准)基准基准
极难+25%+25%
毁灭+50%+50%

召唤缩放 读取召唤者的实时属性

召唤物(泡泡灵、泡泡蟾蜍、瓢虫...)随 召唤者的实时魔法攻击力 在施放时缩放,并叠在该生物自身基础属性之上(逆向还原 / 社区验证 - 不是单个表字段):

  • 召唤 最大 HP = 召唤者魔法攻击力 x 1 + 生物基础 HP
  • 召唤 魔法攻击力 = 召唤者魔法攻击力 x 0.5 + 生物基础攻击力

施法者越强,召唤物越耐打、打得越重。各生物的完整数值见 召唤 指南。

相关: 战斗:元素与武器 · 天赋与属性 · 游戏常量 (原始表数值) - 角色构筑器.