Battle Brothers Wiki
Advertisement
For the end formula, see the Hitpoints Damage section
For a simplified formula, see the Damage section in Combat Mechanics

The game calculates damage in two steps. First the damage dealt by the skill used. Then the damage received by the target. For the sake of clarity this article is divided accordingly. This is a definition of the terms used in some of the formulas:

rand(x,y) = a random number between x and y
min(x,y) = the minimum between x and y
max(x,y) = the maximum between x and y

Each variable has a default value that can be modified by one or several modifiers. The value can be multiplied (*), added (+), subtracted (-) or a new value can be set (=). This page lists all usable skills in the game.

Damage Dealt[]

Body Damage Multiplier[]

Default Values
Body Part =
Body 1
Head 1.5
Skill Body Part +
Chop Head 0.5
Brute Head 0.15

Damage Multiplier[]

Default Values
Attack Type =
Melee 1
Ranged 1

Skill[]

Skill * * Formula
Cascade 0.33
Hail 0.33
Knock Out 0.5
Lunge min(2, 2 * max(0, Initiative / 175))
Puncture + Double Grip 0.8
Strike Down 0.5

Background[]

Background Condition *
Brawler Fists 2

Effect[]

Effect * * Formula
Mushrooms 1 + 0.1 * turns left
Dazed 0.65
Killing Frenzy 1.25
Spearwall 0.5
Web 0.5

Injury[]

Injury *
Broken Arm 0.5
Cut Arm Sinew 0.6
Injured Shoulder 0.75
Split Shoulder 0.5

Perk[]

Perk Condition *
Executioner Injured 1.2
Devastating Strikes 1.2
Throwing Mastery Distance < 3 1.4
Throwing Mastery Distance = 3 1.2

Special[]

Skill Condition *
Double Grip Melee, off-hand free 1.25
Ranged Shot goes astray 0.75

Trait[]

Trait Condition *
Huge Melee 1.1
Tiny Melee 0.85
Drunkard 1.1

Faction[]

Enemy =
Orc Young 1.15
Orc Berserker 1.2
Orc Warrior 1.15
Orc Warlord 1.35
The Conqueror 1.35
Fallen Betrayer 1.25
Frenzied Direwolf 1.2
Enemy Condition +
Lindwurm Day 170+ 0.1
Orc Berserker Day 190+ 0.1
Orc Walord Day 200+ 0.1
Orc Warrior Day 200+ 0.1
Unhold Day 90+ 0.1
Fallen Hero Day 100+ 0.1
Armored Wiederganger Day 100+ 0.1

Regular Damage[]

= rand(min regular damage, max regular damage)
* regular damage multiplier
* damage multiplier

Min & Max Regular Damage[]

See Weapons for default values.

Skill + + Formula
Cudgel 20
Overhead Strike 20
Pound 20
Smite 20
Berserker Rage 1 * stacks

Regular Damage Multiplier[]

Character = 1 (default)
Skill * + Formula
Aimed Shot 1.1
Destroy Armor 0
Decapitate 1 - HP / max HP
Demolish Armor 0
Split Man (second attack) 0.5

Armor Damage[]

= rand(min regular damage, max regular damage)
* armor damage multiplier
* damage multiplier

Armor Damage Multiplier[]

See Weapons for values.

Skill Condition * +
Destroy Armor Hammer Mastery 2
Destroy Armor 1.5
Demolish Armor Hammer Mastery 2
Demolish Armor 1.5
Fists 0.5
Puncture 0
Split Man 0.5
Sundering Strikes 0.2

Direct Damage[]

= damage direct multiplier
* (direct damage multiplier + direct damage addend)

The result is a multiplier not an amount of damage.

Damage Direct Multiplier[]

Character = 1 (default)
Enemy Condition = *
Goblin Ambusher Low (weak version) 1
Goblin Ambusher 1.4
Goblin Ambusher Day 200+ 1.5
Goblin Skirmisher Low (weak version) 1
Goblin Skirmisher 1.25
Goblin Overseer 1.1
Goblin Wolfrider 1.25
Master Archer 1.25
Webknecht Webbed 2

Direct Damage Multiplier[]

See Weapons for default values. Some skills and perks can modify the weapon value.

It seems that direct damage is solely determined by weapon skills. Direct damage modifiers within weapon files are used solely for UI purposes. This means that for example a Goedendag will ignore 25% of armor when using Thrust and 40% when using Knock-Out, although the weapon descriptions states it as ignoring 25% of armor. Possibly, this used to be different.

Direct Damage Addend[]

Character = 0 (default)
Enemy/Skill Condition +
Webknecht day 30+ 0.05
Duelist Off-hand free 0.25

Fatigue Damage[]

= 5 * fatigue damage multiplier

Fatigue Damage Multiplier[]

Character = 1 (default)
Skill +
Bash 2
Cudgel 4
Knock Out 2
Strike Down 4

Minimum Damage[]

Character = 0 (default)
Skill =
Batter 10
Destroy Armor 10
Demolish Armor 10

Secondary Damage[]

Secondary damage ignores armor (unless it specifically targets it like acid). It stacks if applied multiple times. As damage from attacks it can be resisted (see the Damage Received section) but Nimble does not protect against it. All effects are removed after combat.

Damage over Time[]

Bleeding[]

Bleeding is caused by Cleavers Cleave Skill, Jagged Pike Rupture Skill and Whips Whip Skill for 5 damage (2 stacks of Bleed for Whips) over 2 turns (3 with the Bleeder Trait). The damage is increased to 10 for Cleave and Whip Skills with the Cleaver Mastery. The minimum (hitpoints) damage necessary for the effect to occur at all is 6.

Some Temporary Injuries cause bleeding like damage for the duration of the battle when they were sustained. Grazed Neck deals 1 damage per turn and Cut Artery deals 3. Both these Injuries as well as any bleeding can be cured with Bandages First Aid Skill. Undead are immune to bleeding.

Poison[]

Poison is used by Goblin Ambushers and Webknechts. But only Webknechts poison inflicts damage. Like bleeding, poison is only applied if 7 or more (hitpoints) damage has been dealt. The spider poison deals 5 damage per turn for 3 turns (4 with the Ailing Trait). Poisoned Oil works a bit differently. Webknechts, Undead and some other monsters are immune to the effect.

Acid[]

Acid is sprayed over armor when hitting an adjacent Lindwurm for more than 10 damage or by being hit with an Acid Flask. The acidic effect lasts 3 turns and removes 10% of current body (20% with the flask) and head armor (4% with the flask) durability. Lindwurms are immune to the effect. A body armor with the Lindwurm Scale Cloak Armor Attachment is unaffected by it. The Lindwurm Armor and Lindwurm Helmet are also unaffected.

Blessed Water[]

See Flask of Blessed Water.

Miscellaneous[]

Falling Damage[]

This occurs when being pushed down from a height by skills that repel or knock targets back. The damage equals 10 per level difference.

Hex[]

The damage taken by the caster of the hex is mirrored.

Nightmare[]

This skill is used by Alps follows a special formula for damage.

max(5, 25 - Resolve * 0.25)

Damage Received[]

Body Damage Multiplier[]

Perk =
Steel Brow 1

Damage Multiplier[]

   = total damage multiplier
   * melee damage multiplier
OR * ranged damage multiplier

Total Damage Multiplier[]

Character = 1 (default)
Item/Skill/Enemy = * - * Formula
Bone Platings 0
Berserker Rage max(0.3, 1 - 0.02 * stacks)
Indomitable 0.5
Possessed Undead 0.75
Schrat (shielded) 0.3

Melee Damage Multiplier[]

Item *
Horn Plate 0.9

Ranged Damage Multiplier[]

Item *
Unhold Fur Cloak 0.8

Regular Damage[]

= regular damage (dealt)
* regular damage multiplier
* damage multiplier

Regular Damage Multiplier[]

Character = 1 (default)
Perk Condition *
Nimble Direct attack chance
Racial Resistances
Enemy Skills *
Alp Aimed or Quick Shot, Shoot Bolt or Heavy Bolt 0.1
Alp Throw Javelin 0.25
Alp Puncture, Thrust, Stab, Impale, Rupture, Lunge 0.5
Alp Wardog or Wolf Bite 0.33
Schrat Aimed or Quick Shot, Shoot Bolt or Heavy Bolt 0.25
Schrat Throw Javelin 0.5
Skeleton Aimed or Quick Shot, Shoot Bolt or Heavy Bolt 0.1
Skeleton Throw Javelin 0.25
Skeleton Puncture, Thrust, Stab, Impale, Rupture, Lunge 0.5

Armor Damage[]

= min(
  armor,
  armor damage (dealt)
  * armor damage multiplier
  * damage multiplier)

Armor Damage Multiplier[]

Character = 1 (default)
Enemy/Perk = * Formula
Fallen Betrayer 0.75
Battle Forged 1 - armor * 0.05 * 0.01

Fatigue Damage[]

= fatigue damage (dealt)
* fatigue effect multiplier
* fatigue damage multiplier

Fatigue Effect Multiplier[]

Default is 1
Enemy = *
Undead 0

Fatigue Damage Multiplier[]

Character = 1 (default)
=

Hitpoints Damage[]

= (regular damage
* direct damage (dealt)
* direct damage multiplier
- armor * armor direct damage mitigation multiplier

and if armor is destroyed or direct damage (dealt) = 1

+ regular damage * (1 - direct damage (dealt) * direct damage multiplier)
- armor damage)

and the last modifier is applied to the whole

* body damage multiplier

Note than none of the values in each step can be negative. If damage < damage minimum (dealt), damage = damage minimum (dealt).

Direct Damage Multiplier[]

Character = 1 (default)
Item *
Additional Fur Padding 0.66

Armor Direct Damage Mitigation Multiplier[]

Character = 0.1 (default)

Examples[]

Case 1[]

Actors, Skills & Equipment[]

Sigurd the Beast attacks a Brigand Raider.

Sigurd uses the following skills, perks, traits:

  • Huge
  • Overhead Strike (common Greatsword)
  • Killing Frenzy
  • Brute

Our guinea pig is a poor Brigand Raider with the following equipment:

  • Ragged surcoat (55 durability)
  • Headscarf (20 durability)

Damage[]

Sigurd attacks the Raider with Overhead Strike and hits the head!
body damage multiplier = 1.5 + 0.15 = 1.65 (no Steel Brow)

Overhead Strike has + 20 regular damage!
regular damage range is 105 - 125

Sigurd rolls 125 on regular damage! He is Huge and is under a Killing Frenzy!
regular damage = 125 * 1.1 * 1.25 = 171

Sigurd rolls 105 on armor damage!
armor damage = 105 * 1.1 * 1.25 = 144

The headscarf is utterly destroyed!
damage = 171 * 0.25 (direct damage) + 171 * (1 - 0.25) - 20 (armor damage) = 151

It's a critical hit!
damage = 151 * 1.65 = 249

Our puny Raider only has 75 hitpoints! His head flies in the air and Sigurd the Beast gleefully adds it to his collection!

Case 2[]

Actors, Skills & Equipment[]

Olaf the Reckless has put himself in deep trouble as usual and is attacked by an Orc Young.

Olaf has 60 hitpoints left of 100 and has the following equipment and skills:

  • Reinforced Mail Hauberk (210 durability) with Additional Fur Padding
  • Indomitable
  • Battle Forged

The Orc Young uses the following skills:

  • Decapitate (Head Chopper)
  • Double Grip

Damage[]

The Orc Young hits Olaf's body with Decapitate!
body damage multiplier = 1

Head Chopper has a range of 40 - 70 and the Orc Young rolls 60 on regular damage! He uses Decapitate, has Double Grip and a racial bonus!
regular damage dealt = 60 * (1 + 1 - 60/100) * 1.25 * 1.15 = 120

The Orc Young rolls 70 on armor damage!
armor damage dealt = 70 * 1.1 * 1.25 * 1.15 = 110

Olaf is under Indomitable!
regular damage received = 120 * 0.5 = 60

Olaf also has Battle Forged!
armor damage received = 110 * 0.5 * (1 - 210 * 0.05 * 0.01) = 49

Olaf's Reinforced Mail Hauberk is left with 161 durability! Olaf's armor has Additional Fur Padding!
damage = 60 * 0.25 (direct damage) * 0.66 - 161 * 0.1 = 0 (−6.2)

Olaf the Reckless makes it this time! Hopefully he'll eventually learn the meaning of his surname!

Case 3[]

Actors, Skills & Equipment[]

Gebhard attacks a Size 1 Ifrit.

Gebhard uses the following skill:

  • Split Man (Man Splitter)

The Ifrit is a regular small ifrit:

  • It has 110 hitpoints
  • It has natural armor on body and head (110 durability)
  • Being an ifrit, it has no head, and all attacks always hit its body

Damage[]

Gebhard hits the Ifrit's body with Split Man!
body damage multiplier = 1

Man Splitter has a range of 90 - 120 and Gebhard rolls 120 on regular damage!
regular damage dealt = 120

Gebhard rolls 110 on armor damage! Man Splitter deals 160% damage to armor!
armor damage dealt = 110 * 1.6 = 176

The Ifrit's natural armor is hit for 176 damage and is destroyed! But the armor's durability was 110 which is less, and it is the actual taken damage. The Ifrit takes direct damage! Man Splitter deals 40% damage through armor!
direct damage = 120 * 0.4 = 48

Since the armor is zero, the game calculates additional damage!
additional damage = 120 (regular damage (dealt) * (1 - 0.4 (direct damage)) - 110 (armor damage (taken)) = -38

The game does not decrease damage when the number is negative, so the Ifrit takes 48 damage to hitpoints. Split Man deals a second damage instance with separate rolls! This attack would normally hit the head, but ifrits have none, and it hits its armorless body instead! Body part damage modifier of the second attack of Split Man is always set to 1, even when it hits the head.
body damage multiplier = 1

Gebhard rolls 120 on regular damage again! However its damage is halved.
regular damage dealt = 120 * 0.5

Since there is no armor, armor damage roll does not matter and will not affect anything. The Ifrit takes direct damage!
direct damage = 60 * 0.4 = 24

Since the armor is zero, the game calculates additional damage!
additional damage = 60 (regular damage (dealt) * (1 - 0.4 (direct damage)) - 0 (armor damage (taken)) = 36

Ifrit takes 60 damage from the second part of the attack, and total 108 damage from it. It survives with 2 hitpoints and will probably merge again.
Advertisement