In other languages: Deutsch Español Français 日本語 한국어 Русский Українська 简体中文

Damage

From Official Factorio Wiki
Revision as of 15:07, 10 August 2017 by AlexTFish (talk | contribs) (→‎Damage Types: add uranium bullets)
Jump to navigation Jump to search


Overview

In Factorio, entities have health, can die/be destroyed, and have resistances. Damage is defined as the concept of lowering an entity's health by using an attack, such as a gun firing at it, or a biter chewing on it. An entity's resistances will define exactly how much damage the entity will take off of an arbitrary attack.

The character's maximum health is 100 (without energy shields). Other entities' health values are listed in their individual entries.

Achievements

The concept of damage is directly connected to the following achievements:

Run-forrest-run-achievement.png Run Forrest, run

Destroy 100 trees by impact.

Pyromaniac-achievement.png Pyromaniac

Destroy 10k trees with fire.

Steamrolled-achievement.png Steamrolled

Destroy 10 spawners by impact.

Golem-achievement.png Golem

Survive a hit of 500 damage or more.

Watch-your-step-achievement.png Watch your step

Get killed by a moving locomotive.

Damage Types

Damage type Used by
Physical Bullets (regular/piercing/uranium), shotgun (regular/piercing), biters, axe (iron/steel), collision (of train/car)
Fire Flamethrower
Acid Worm Turrets, Spitters
Poison Poison capsule
Explosion Rockets, Explosive Rockets, Grenade, Cluster grenade
Laser Laser turrets, distraction/destroyer robots, personal laser defense

Resistance

Resistance has two aspects:

  • Percentile resistance

Percentile resistance reduces the damage by the specified percent. If the percentage is 100%, the entity is immune to the damage. As an example, an entity having 25% resistance to 100 bullet damage would take 75 damage instead.

  • Decrease, or "flat" resistance

Decrease resistance decreases the damage by specified number as long as the result damage wouldn't be less than zero. If the result damage would be less than 0, the extra resistance is used as denominator in the fraction of damage that is going to be dealt.

Display of resistances

In Factorio, resistances are displayed as such:

Decrease resistance/Percent resistance

So, an entity displaying 10/20% resistance to fire means that that entity has 10 flat resistance and 20% percentile resistance to fire. So, if said entity were to take 30 fire damage, they would instead take 16 damage, after resistances were applied.

Formulas

Decrease < Damage

Result damage = (Damage - Decrease) * (1 - Percentage)

Decrease >= Damage

Result damage = 1 / (2 + Decrease - Damage) * (1 - Percentage)

An example table of different resistances and what the result damage would be:

Damage Resistance Result damage (0% damage loss)
5 0 5
5 1 4
5 2 3
5 3 2
5 4 1
5 5 1/2
5 6 1/3
5 7 1/4
5 8 1/5
... ... ...