## Damage Calculation[]

*“It's taking longer than I calculated.”*

**This page is actively being worked on**and may not be completely correct. Please assist in making this page accurate. See WARFRAME Wiki:Research on ways to perform research on this game. Click here to add more info.

The following explains how a certain amount of damage of one type turns into actual inflicted damage to a target, considering type modifiers and armor. Faction modifiers, body part modifiers, critical hit and stealth modifiers, as well as Warframe debuffs, are disregarded for now, since all of these are independent of damage types.

### Quantization[]

**Dealing damage is quantized.** Meaning, rather than the damage being applied smoothly, physical and elemental damages round to the nearest multiple of 1/16th of their attack's base damage, before being multiplied further.^{[1]}^{[2]} By using this method of quantization, the precision of data is reduced, thereby saving storage space and improving the efficiency of computer operations. Rather than communicating a lengthy integer of each element's value, only one "Total" integer along with short representative multiples of 1/16th need to be communicated.

For each damage type that a weapon deals, the base damage for that damage type will first be divided by the scale, rounded to the nearest whole number, and finally multiplied by the scale. This quantized value will be used in the mission's damage calculations. The final damage seen by in-game damage pop-ups are further rounded to a whole number.

- For example, if you have a weapon with a listed damage distribution of 30 Impact, 30 Puncture, and 40 Slash, the total damage is
**100**. - The value of a scale will then be 100 ÷ 16 =
**6.25**. - The amount of Impact damage dealt by the weapon will then be 30 ÷ 6.25 = 4.8 rounded to the nearest whole number, multiplied by the scale: 5 × 6.25 =
**31.25**. This process is applied to Puncture and Slash as well, yielding**31.25**and**37.5**respectively. - As such, when damaging a Charger, which has a +50% bonus to Slash damage due to having Infested health, the total damage dealt to the Charger will then be 31.25 + 31.25 + 37.5 × (1 + 50%) =
**118.75**(the game will display the rounded value of 119).

- Note that while in this case the weapon's total damage after the conversion remained the same (at 100), mixed-type weapon damage is frequently
**gained**or**lost**by the conversion.

Damage mods such as Hornet Strike, Faction mods such as Bane of Grineer, and any other multipliers only multiply final quantized values and do not affect the scale or damage composition.

If a physical or elemental mod is applied, their bonuses are also quantized.

- The value of the example scale will still be 100 / 16 =
**6.25**. Elemental and Physical bonuses do not affect the scale. - If Maim was used, for example, the Slash bonus calculates seperately using the
**base portion**of slash, and adds to the total: round( 40 × 1.2 ÷ 6.25 ) × 6.25 =**50**. - The damage distribution would then be
**31.25**Impact,**31.25**Puncture, and 37.5 + 50 =**87.5**Slash. - Elemental bonuses calculate using the
**full**base damage, are rounded to the nearest 1/16th of the base damage and added to the total. - Elements formed by a sum of mods and bonuses quantize their sum alone. For example, if 90% Cold combined with 90% Toxin, or 90% modded Radiation combined with 90% of Smite Infusion, these types would count seperately as a sum of their final element (180% Viral, or 180% Radiation), each rounded to the nearest 1/16th of base damage, and finally added to the quantized total.

- Applying the math fully: Nagantaka Prime with Cryo Rounds, Malignant Force, Hellfire, Piercing Caliber and Gas Valence Formation in that order deals:
- Scale (
**S**) = 173 ÷ 16 = 10.8125 - Elemental and Physical Quantization:
- Base Quantization:
**Total:**0 Impact + 10.8125 Puncture + 151.375 Slash + 259.5 Viral + 151.375 Heat + 21.625 Puncture + 346 Gas = 940.6875 Damage- Note that the Impact value of Nagantaka Prime is so low that it will not register during attacks, rounding to 0 in the process.
- Applying +Damage, +Faction or any other non-elemental bonus multiplies both the base value of rounding numerator and Scale of rounding denominator, and therefore is a simple multiplier to any quantized total.

- Scale (

Calculating damage with quantization can be simplified to the following steps.

- Get Scale
- Quantize Elements
- Quantize IPS
- Add above
- Apply all other multipliers

#### Trivia[]

- Hitscan weapons do not quantize against object health such as Nullifier Bubbles and Zephyr Tornadoes. Projectiles however will be quantized. This characteristic has been used to determine damage compositions not disclosed in-game, so they can be presented here in the wiki.

### Unarmored Enemies[]

Against **unarmored** enemies or when applying True damage, the formula is simply:

**Inflicted Damage (ID)**is the final damage result of a particular damage type.**Starting Damage (SD)**is the initial damage value of a particular damage type, modded or not.**Health-type Modifier (HM)**is the damage modifier against that health type (may be shields or health).

To make it independent from the amount of base damage:

**Damage Modifier (DM)**is the total damage modifier. An amount of damage of that type (SD) against that enemy will then always be multiplied with this factor (DM).

### Armored Enemies[]

Against **armored** enemies, the formula is:

Where in addition to the previous definitions, **AM** is the damage modifier against the armor type and **AR** is the target's armor after all reductions from debuffs (e.g. Corrosive Projection, Corrosive procs, and Terrify).

Note that from the formula above damage type modifiers directly affect the value of the armor as well as damage. Positive armor modifiers will reduce the effective armor by the percentage value, which is commonly thought of as that damage type essentially ignoring some of the armor. Conversely, negative armor modifiers will increase the effective armor by the magnitude of the percent value. Because of this, damage values see larger changes from armor than intuition may lead one to think since both the damage itself is affected as well as the damage mitigation caused by armor. **So in many cases, it is more important to consider armor modifiers before health modifiers.**

It is important to emphasize that type modifiers against armor work in two ways here:

- Mitigate or enhance a percentage of the target's armor (represented by AR(1 - AM) in the above equation)
- Increase or decrease the damage dealt in the same way as a type modifier against the hit points would do (represented by (1 + AM))

Practically speaking, this means that Corrosive damage is only reduced by 25% of a target's whole Ferrite Armor **and** the base damage is increased by +75%. The formula also causes a massive difference between a medium and a large reduction: 75% reduction (¼ original armor) is essentially twice more than 50% reduction (½ original armor). **Thus, having the damage type with the highest appropriate bonus is far more important against armored than unarmored targets.**

### Comparing Damage Type Modifiers on Armored Enemies[]

Since certain damage types can ignore armor while being reduced by them, a simple (1 + *HM*) × (1 + *AM*) calculation yields incorrect results. For example, the following damage type pairings deviate from that simplified calculation (ignoring status effects):

- Against ferrite-armored cloned flesh (e.g. Heavy Gunner):
- Against alloy-armored cloned flesh (e.g. Bombard):
- Radiation (+75% against Alloy Armor) always surpasses Viral (+75% against Cloned Flesh).
- Puncture (+15% against Alloy Armor) surpasses Heat (+25% against Cloned Flesh) above 342 armor.
- Cold (+25% against Alloy Armor) always surpasses Heat (+25% against Cloned Flesh).
- However, neither Puncture (+15% against Alloy Armor) nor Cold (+25% against Alloy Armor) ever surpass Viral (+75% against Cloned Flesh).

This just shows that one cannot easily compare damage type modifiers against an armor class to those against health classes, and those against armor are, at similar values, considerably more effective especially when fighting high-level enemies (since armor scales with enemy level).

*Exact relative damage bonus (i.e. benefit) of a non-zero armor modifier at a given target net armor value.*

The relative damage bonus due to a damage type's armor modifier against armored health compared to no modifier can be quantified using the above expression. This is only defined for armor values greater than 0 because at 0, the armor type of the target is lost, such that the effect of the damage type's armor modifier is lost as well. Hence, the benefit (relative damage bonus) of the armor modifier at 0 armor is always 0.

*Limit for the benefit as armor approaches infinity (300/AR term resolves to 0).*

An interesting property of this benefit function is that, while one would intuitively assume the benefit of the armor modifier gets always greater the greater the target's armor, this benefit actually converges against a limit as armor approaches infinity if the armor modifier is smaller than one (which is true for all damage types against all armor types with the sole exception of True damage). Since this limit is only determined by the armor modifier of the damage type itself, it is a practical metric to gauge the relative effectiveness of damage types for long endless missions.

Below is a table of the actual values for all currently implemented armor modifiers, illustrating the growing returns of greater armor modifiers, which may be compared to the behavior of Corrosive Projection aura stacking.

Codex Label | +++ | ++ | + | + | N/A | - | - | -- |
---|---|---|---|---|---|---|---|---|

AM | +0.75 | +0.5 | +0.25 | +0.15 | +0 | -0.15 | -0.25 | -0.5 |

lim as fraction | +6 | +2 | +2/3 | +6/17 | +0 | -6/23 | -2/5 | -2/3 |

lim in % | +600 | +200 | +66.67 | +35.29 | +0 | -26.09 | -40 | -66.67 |

### Generalized Damage Modifier[]

A generalized version of the damage modifier formula is:

*Generalized damage modifier formula for a specific damage type. The term following the capital pi operator (Π) simply means that this is a product, so all these bonuses stack multiplicatively. The notation replaces (1 + M*_{1}) × (1 + M_{2}) × ... .

**AR** is still the target's armor *after* all debuffs (e.g. Corrosive Projection, Corrosive procs, and Terrify) have been applied, how these debuffs work is explained on the Armor page. **AM** is the damage type modifier against the armor class for a specific damage type. M_{i} for all indices *i* are all independent modifiers that are active, **stacking multiplicatively with each other and are relative increases in damage** (e.g. 2.5x damage would be represented as +150% or +1.5x). These include, but not limited to:

- Damage type modifiers against armor and health type
- Critical hit modifier (on average: critical chance × critical damage multiplier)
- Stealth bonus (only on normal attacks, the special melee stealth attacks are classified as Cinematic damage type and disregard armor)
- Enemy body part and hit zone modifiers (e.g. headshots)
- Damage multipliers against a particular faction from Faction Damage Mods, Sentient Scalpel, or Roar
- Damage multipliers from certain damage buffing Warframe abilities like Eclipse (all independent of each other)
- Damage multipliers from certain mods like Synth Charge and Charged Chamber (all independent of each other)
- Damage multipliers from certain Warframe passives like Garuda's or Vauban's (all independent of each other)
- Damage multiplier from Sniper Rifle's shot combo counter
- Damage multiplier from Melee Combo for heavy attacks
- Damage multipliers from Stance combos
- Damage multiplier based on the Follow Through stat of melee weapons
- Damage multiplier from Unairu Wisp and Virtuos Fury
- Damage multiplier from Void Strike
- Damage Falloff
- Special damage resistances that scale based on theoretical damage per second
- Sources of damage vulnerability like Molecular Prime and Detect Vulnerability (all independent of each other)

In the case of enemies who have both shields and armor, damage to shields is not mitigated by armor. Lastly, when Toxin damage is applied to a shielded target, generally the damage is applied directly to its health, not shields (i.e. it bypasses shields). Some special enemies like Treasurer or Hounds cannot have their shields bypassed with Toxin damage however.

## Final Calculations[]

### Modded Stats[]

*Basic formula for calculating modded stats (e.g. critical chance) with the exception of accuracy, reload time, and charge time.*

*Formula for calculating modded reload time and charge time.*

### Total Damage[]

The damage numbers displayed in the in-game arsenal calculate total weapon damage as such:

This arsenal damage is the average non-crit damage per shot, without Faction Damage Bonus.

*For melee weapons, remove multishot from the equation. It does not include Stance damage multipliers.*

Theoretical total inflicted damage against an enemy can be calculated as such (ignoring quantization for simplification):

*Where SD represents the modded value of a particular damage type and DM represents the damage modifier for a particular damage type using the generalized damage modifier formula.*

### Gun Damage Per Second[]

*“It's taking longer than I calculated.”*

**This page is actively being worked on**and may not be completely correct. Please assist in making this page accurate. See WARFRAME Wiki:Research on ways to perform research on this game. Click here to add more info.

When comparing the performance of non-melee weapons, it may be useful to calculate their theoretical damage per second (DPS) (without accounting for status effects) using the following formulas:

#### Average Shot/Hit[]

Average shot or hit is the theoretical average damage dealt on a single button input if all projectiles hit the target.

*In the case where modded critical chance is over 100%, the lowest crit tier possible will be considered a normal shot. (e.g. if a weapon has 250% crit chance, the 100% for an orange crit will be considered a normal shot)**Note that denotes a flooring function (rounding down)*

*In the case where modded critical chance is over 100%, the next crit tier possible will be considered a critical shot (e.g. if a weapon has 250% crit chance, the 50% for a red crit will be considered a critical shot)**Note that denotes a ceiling function (rounding up)*

*The average damage dealt on a single button input if all projectiles hit the target.*

#### Average Burst DPS[]

Average burst DPS is the theoretical damage a player does in a very short burst of time, or an extended period of time if ignoring time spent reloading/not firing their weapon.

*The lower the Fire Rate, the more delay between charge shots. If attack is not a charge trigger type (charge time is 0), then effective fire rate equals modded fire rate.*

*Not all weapons consume one ammo per shot; this is to account for cases such as Continuous Weapons*

#### Average Sustained DPS[]

Average sustained DPS is the theoretical damage a player does over an extended period of time, accounting time spent reloading/not firing their weapon.

*For the Vectis and Vectis Prime specifically, one (1) should be subtracted from the denominator to account for their lack of a reload delay.**For Epitaph specifically, ignore Modded Reload Time since it draws ammo directly from the full ammo pool similar to bows, but does not "reload" between shots like them.**Assumes that damage ramp up is at max for Continuous Weapons.**Reload time is in seconds.**Reload time includes reload delay which is more prevalent for Battery Weapons. Reload delay for most weapons are negligible if not non-existent.*

### Melee Damage Per Second[]

When comparing the performance of melee weapons, it may be useful to calculate their theoretical damage per second (DPS) (without accounting for status effects) using the following formulas:

*In the case where modded critical chance is over 100%, the lowest crit tier possible will be considered a normal hit. (e.g. if a weapon has 250% crit chance, the 100% for an orange crit will be considered a normal shot)**Note that denotes a flooring function (rounding down)*

*In the case where modded critical chance is over 100%, the next crit tier possible will be considered a critical hit (e.g. if a weapon has 250% crit chance, the 50% for a red crit will be considered a critical shot)**Note that denotes a ceiling function (rounding up)*

*The average damage dealt on the first enemy hit by melee attack, not accounting Follow Through**See individual stance pages for average combo damage multipliers or go to Stance#Comparison*

*See individual stance pages for average base combo lengths or go to Stance#Comparison*

### Damage Over Time[]

*Total modded damage calculations used for DoT ignores elemental and physical damage bonuses.*

*Without accounting multipliers of specific DoT.*

*Individual calculations for each DoT proc. Keep in mind Slash DoT deals Cinematic damage, ignoring armor.*

*Multiply each DoT with the respective damage distribution (i.e. damage type / total damage) and add them together*

*In the case where modded critical chance is over 100%, the lowest crit tier possible will be considered a normal shot. (e.g. if a weapon has 250% crit chance, the 100% for an orange crit will be considered a normal shot)**Note that denotes a flooring function (rounding down)*

*In the case where modded critical chance is over 100%, the next crit tier possible will be considered a critical shot (e.g. if a weapon has 250% crit chance, the 50% for a red crit will be considered a critical shot)**Note that denotes a ceiling function (rounding up)*

*Accounting for critical hits, non-crits, and status chance for an average of total DoT averages.*

### Lifetime Damage[]

Lifetime damage is a derived damage stat that is based on the total amount of damage that a weapon can deal before it depletes its ammo reserve. Melee weapons, Battery Weapons or rechargable weapons, and Exalted Weapons (assuming Energy is always restored) will deal infinite damage over their in-game use since they are always available and are not reliant on ammo pickups or Squad Ammo Restores.

*The average total damage dealt by a weapon without switching weapons or replenishing ammo.*

## References[]

- ↑ Theroxenes (2018, March 2).
*Internal rounding leading to unintended applied damage*. Warframe Forums. Accessed 2022-09-19. Archived from the original on 2022-09-19. - ↑ Theroxenes (2018, February 28).
*Internal damage quantization or: Another way the arsenal is lying to you.*. Reddit. Accessed 2022-09-19. Archived from the original on 2021-11-24.

## See Also[]