DungeonSettlers.wiki

戰鬥公式

Steam

Every combat number on this page is read straight from the game's own tables (DS_B.0.4.29); 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%)。只有玩家單位會加上主要屬性的部分;怪物的最終屬性是其自身的表格數值。

因為百分比加成作用於 之後 固定值合計之後,+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-----

基礎值是任何主要屬性生效前的固定起始值。留空表示該主要屬性不影響此屬性。9 項非戰鬥能力(採礦、研究、烹飪等)每點一個主要屬性各提升 +0.05,因此未列於此處。

計算示例

一個擁有 20 體質 的單位為 205 + 9x20 = 385 最大 HP (在任何百分比修正之前)。若 20 力量 / 15 敏捷 / 12 感知 ,其物理攻擊力為 13.5 + 1x20 + 0.5x15 + 0.5x12 = 47.

命中傷害 攻擊、暴擊、命中部位、格擋

命中會從攻擊者的 物理 或 魔法攻擊力 (普通攻擊會使用其技能的百分比)開始,然後依序套用加成傷害、下方的命中結果,以及目標的抗性:

  • 暴擊:將傷害乘以 1 + 暴擊傷害加成 / 100,即 x1.5 在預設 50% 加成下。暴擊機率從 8% 開始,每點感知增加 +0.3%。
  • 命中部位:每次命中落在 頭部(30%) 或 身體(70%) (GAMESYSTEM_Combat_DamagePartsRatio);超出該條剩餘生命值的傷害會溢出至另一條。只有空的 頭部 條才有意義:當聚落居民的條被打空時會倒地(若已倒地則死亡),其他單位則直接死亡。身體條打空不會使任何人倒地。
  • 格擋:只有物理攻擊能被格擋。成功格擋會將傷害減少目標的 格擋傷害減少率 (預設 50%),且被格擋的命中無法暴擊。它不會保護耐久:聚落居民的護甲在被格擋的命中中仍會耗損,耗損量為穿透部分傷害的 10%,與其他任何命中相同。

示例: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 秒 1% 最大生命值無屬性,不受抗性影響100
中毒全文。 目標每層最大生命值的 1%,每 10 秒造成一次無屬性傷害,因此任何抗性都無法減少。最多 100 層;隨目標的最大生命值成長,而非施法者的攻擊力。例:目標 500 HP 時,一層每 5 秒造成 10 點傷害。持續時間由施加的技能設定。 The 上限效果 頁面使用相同的規則。

計算器覆蓋兩個已確認的可疊加持續傷害, 出血 (物理)和 燃燒 (魔法):兩者都會略過護盾與屏障,但不會略過目標的抗性;層數由施加技能決定,且每秒傷害為固定值,從不隨攻擊力縮放。 中毒 在計算器中被刻意排除,因為它是目標最大生命值的一定比例,每層並以自己的 10 秒節奏運作,而非每秒跳傷(見表格下方的說明)。

包圍 已寫入,未生效

資料中已定義,此版本未啟用。 包圍 (GAMESYSTEM_Combat_StrategyRule_Encirclement) is authored as a constant, but a decompile of DS_B.0.4.29 shows 沒有戰鬥程式碼讀取它 - 命中和暴擊結算沒有位置或周圍單位項,該常量從未被載入。所以它目前 無效果 (對玩家或怪物皆然)。下方數字是它 會 在開發者將其接上後產生的作用。

若啟用,包圍敵人會獎勵站位:每有一名盟友單位圍攻同一目標,攻擊者獲得 +10% 命中機率 與 +5% 暴擊機率.

該常量寫為 每個周圍單位,因此加成從第一個側翼單位就開始計算(沒有「免費」的第一個單位):三名攻擊者圍住一名敵人會提供 +30% 命中、+15% 暴擊。因為戰鬥路徑不分陣營,它也會 對稱地 - 包圍你一名單位的敵人也會對該單位獲得同樣的好處。

難度縮放 戰鬥軸

該 戰鬥 難度設定透過以下項縮放怪物屬性 AFFECTER_MonsterDifficulty* (按 PerModifier % 應用)。較易設定削弱怪物攻擊;較難設定同時提高 HP 和攻擊。 在 毀滅 上,怪物的 HP 為 1.5 倍、攻擊力為 1.5 倍(以 困難 為基準)。 完整的經濟/管理軸見 難度 頁面。

戰鬥難度怪物 HP怪物攻擊
簡單基準-85%
普通基準-60%
困難 (基準)基準基準
極難+25%+25%
毀滅+50%+50%

召喚縮放 召喚者的魔法攻擊力的快照

Only some summons (泡泡靈, 泡泡蟾蜍) scale off the 召喚者的魔法攻擊力 在生成當下,加在生物自身基礎屬性之上。之後對召喚者的增益不會改變它們;讀取存檔會依召喚者目前的屬性重新計算。以下數字都沒有列在任何表格中,它們是從遊戲程式碼讀取的:

  • 召喚 最大 HP = 召喚者魔法攻擊力 x 1 + 生物基礎 HP
  • 召喚 魔法攻擊力 = 召喚者魔法攻擊力 x 0.5 + 生物基礎攻擊力

The summoned plants (太陽花, 日心花, 黏液噴霧草) use their own rule: 耐久度 = 召喚者魔法攻擊力 × 0.5 + 基礎耐久,以及 魔法攻擊力 = 召喚者魔法攻擊力 × 1。其他所有召喚物都保留其表格屬性。

施法者越強,召喚物越耐打、打得越重。各生物的完整數值見 召喚 指南。

相關: 戰鬥:元素與武器 · 天賦與屬性 · 遊戲常量 (原始表數值) - 角色構築器.