DungeonSettlers.wiki

Combat Formulas

Every combat number on this page is read straight from the game's own tables (DS_B.0.3.26); 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 Character Builder runs.

The stat pipeline order matters

A unit has six major stats (Strength, Constitution, Will, Intelligence, Agility, Perception) that feed every final stat. Both are built in a strict order - flat first, percent last.

  1. Major stat = base 10 + talent growth per level + flat bonuses, then x (1 + sum of % bonuses). Talent growth per level is set by the stat's talent tier (Poor to Genius) times the level-up offering multiplier - see Talents & stats.
  2. Final stat = its Base + Σ (major stat x its coefficient) + flat bonuses, then x (1 + PerModifier %). The coefficients are the table below (StatusValueTable); the PerModifier % is where affecters, inscriptions and difficulty apply (e.g. MaxHealthTotalPerModifier_50 = +50% HP).

Because percent bonuses apply after the flat sum, a +50% modifier multiplies your whole flat total, not just the base.

Per-point stat values what 1 point of each major gives

One point of a major stat adds the amount below to each final stat (from StatusValueTable). The headline answers: 1 Constitution = +9 Max HP, 1 Strength = +1 Physical Attack, 1 Intelligence = +1.2 Magic Attack.

Final statBaseStrConWillIntAgiPer
Max Health Total205-+9----
Physical Attack Power13.5+1---+0.5+0.5
Magic Attack Power13.5--+0.4+1.2-+0.4
Attack Speed0.4----+0.01-
Critical Chance8%-----+0.3
Cooldown Reduction0--+0.3---
Physical Resistance0-+0.3----
Magic Resistance0---+0.3--
Max Energy60--+2---
Movement Speed80----+0.2-
Max Weight100+4-----

Base is the flat starting value before any major stat. Blank = that major does not affect that stat. The six non-combat capabilities (mining, research, cooking...) each scale +0.05 per one major and are left out here.

Worked example

A unit with 20 Constitution has 205 + 9x20 = 385 Max HP before any % modifier. With 20 Str / 15 Agi / 12 Per its Physical Attack is 13.5 + 1x20 + 0.5x15 + 0.5x12 = 47.

Hit damage attack, crit, hit location, guard

A basic attack deals damage equal to the attacker's Physical or Magic Attack Power (by the weapon's damage type), adjusted by these, before the target's resistance:

  • Critical hit: multiplies damage by x1.5 (GAMESYSTEM_Combat_Basic_CriticalDamageModifier). Crit chance starts at 8% and gains +0.3% per Perception.
  • Hit location: each hit rolls 30% head / 70% body (GAMESYSTEM_Combat_DamagePartsRatio). Units track head and body HP separately; emptying either bar downs the unit.
  • Guard: a successful guard cuts the damage by 50% (GAMESYSTEM_Combat_Basic_GuardReduction) and protects weapon durability.

Example: a 47 Physical Attack that crits deals 47 x 1.5 = 70.5 before resistance.

Resistances diminishing returns

Each damage type (Slash, Blunt, Pierce, and the magic elements Arcane, Fire, Ice, Lightning, Holy, Dark) has its own resistance, starting at 0. Physical Resistance gains +0.3 per Constitution, Magic Resistance +0.3 per Intelligence (StatusValueTable).

Damage taken = raw damage x 100 / (100 + R), where R is your resistance to that damage type (diminishing-returns curve, community-verified). So R = 50 lets through 100/150 = 67% (a 33% cut); R = 100 lets through 50%; R = 200 lets through 33%. Resistance never reaches full immunity, and each point is worth slightly less than the last.

Damage over time Bleeding, Burning, Poison

Bleeding and Burning are stacking debuffs whose per-second damage is fixed per stack (from AffecterTable FloatValues) - it does not scale with the attacker's Attack Power; the applying skill decides how many stacks land. Poison is a separate non-stacking effect (see the note under the table).

EffectPer-second damageDamage typeMax stacks
Bleedingstacks x 5Physical, ignores shields99
Burningstacks x 3Magic, ignores shields50
Poison1% of Max HP per second*Magic, ignores defense1 (no stack)
* Poison rate: what the data actually supports. The game's own Poison text (AFFECTER_Poison) reads "1% of Max HP per second, defense-ignoring magic, cannot stack". There is no tick-interval field anywhere in the tables to independently confirm the realized cadence, and the row's non-zero MaxStack value is contradicted by that "cannot stack" wording. So we take the game's description at face value (per second, magic, non-stacking) and drop an earlier per-10-seconds assumption that no table backed - but treat the exact tick timing as unconfirmed. This matches the Capped Effects page, which counts Poison only as a non-stacking (capped-at-one) effect.

The calculator covers the two confident stacking DoTs, Bleeding (physical) and Burning (magic): both bypass shields/barriers, the applying skill sets the stack count, and the per-second damage is fixed and never scales with attack. Poison is left out of the calculator on purpose - it cannot stack and its exact tick rate is unconfirmed (see the note under the table).

Encirclement authored, not active

Defined in the data, not active in this build. Encirclement (GAMESYSTEM_Combat_StrategyRule_Encirclement) is authored as a constant, but a decompile of DS_B.0.3.26 shows no combat code reads it - the hit and crit resolution has no positional or surrounding-unit term, and the constant is never loaded. So it currently has no effect on anyone, player or monster. The numbers below are what it would do if the developers wire it up.

If activated, surrounding an enemy would reward positioning: per allied unit engaged around the same target, attackers would gain +10% hit chance and +5% critical chance.

The constant is written per surrounding unit, so the bonus would count from the very first flanker (no "free" first unit): three attackers around one enemy would give +30% hit, +15% crit. Because the combat path is faction-agnostic, it would also apply symmetrically - enemies surrounding one of your units would get the same benefit against it.

Difficulty scaling Combat axis

The Combat difficulty setting scales monster stats through AFFECTER_MonsterDifficulty* (applied as PerModifier %). Hard is the baseline; easier settings weaken monster attack, harder ones raise both HP and attack. Devastation doubles monster HP and attack. See the full economy/management axis on the Difficulty page.

Combat difficultyMonster HPMonster attack
Easybaseline-85%
Normalbaseline-60%
Hard (baseline)baselinebaseline
Very Hard+50%+50%
Devastation+100%+100%

Summon scaling reads the summoner's live stats

Summons (Bubblings, Bubble Toad, Ladybug...) scale off the summoner's live Magic Attack at cast time, on top of the creature's own base stats (reverse-engineered / community-verified - not a single table field):

  • Summon Max HP = summoner Magic Attack x 1 + creature base HP
  • Summon Magic Attack = summoner Magic Attack x 0.5 + creature base attack

A stronger caster makes tougher, harder-hitting summons. Full per-creature numbers are on the Summons guide.

+ Wishlist on Steam!