Calculating Bonuses

When modding anything in WARFRAME, the order in which bonuses are applied follows a pattern. With the exception of mods that provide elemental damage bonuses, the order in which mods are installed does not matter; the resultant stats will always be the same regardless of the mod configuration. The same goes for temporary or conditional buffs and debuffs from abilities, mods, Arcane Enhancements, and enemies.
==Semantics==
===Percent Bonuses vs. Multipliers===
In most cases in WARFRAME, percent bonuses to stats (not to be confused with flat percentage points) can also be represented as stat multipliers using the following conversion:
\begin{aligned}
\text{Net Multiplier} = 1 + \frac{\text{Net Percent Bonus as a percentage}}{100} = 1 + \text{Net Percent Bonus as a decimal}
\end{aligned}
:Converting percent bonuses to multipliers.
For simplicity, calculations in this article (and throughout the wiki) will represent percent bonuses as decimals and will use expression instead.
===Complementary Percentages===
Many stat modifiers in WARFRAME are expressed in terms of percentages, but there may be more than one way to describe the same stat modifier.
For example, Damage Vulnerability can be expressed in terms of Damage Reduction. If an enemy is 25% more vulnerable to taking damage (e.g. +25% damage bonus), one can also say that the enemy:
*Is 25% less resistance to taking damage (e.g. -25% damage reduction)
*Is 125% vulnerable (100% + 25%) to damage (notice "more" is omitted)
*Has -25% resistance to incoming damage (negative resistance is equivalent to vulnerability)
*Has a 0.75x multiplier (100% - 25%) to incoming damage
==Overview==
 Types of Bonuses
Operation On Base Stat	Bonus Stacking Behavior	Internal Name(OperationType)	Typical Context 	Example(s)
Addition 	Additive Stacking 	ADD 	Flat value or percentage point bonuses:
*±X Energy Rate
*±X Health
*±X Punch Through
*Etc. 	's status chance bonus
 Final Status Chance = Base Status Chance + 
's Elemental Excess perk (-10 critical chance percentage points)
 Final Critical Chance = Base Critical Chance +
Multiplication 	Additive Stacking 	STACKING_MULTIPLY 	Most common bonus, applies to almost all percentage-based bonuses:
*±X% Ability Strength
*±X% Armor
*±X% Energy Max
*±X% Fire Rate
*±X% Health
*Etc.	's and 's damage bonus
 Final Damage = Base Damage * (1 + + )
Multiplication 	Multiplicative Stacking	MULTIPLY 	
*Damage Reduction bonuses
*Affinity bonus
*Resource Drop Chance bonus 	's and 's damage resistance to 
 Damage Taken = Initial Toxin Damage * ( * )
Affinity bonuses
 Total Affinity = Initial Affinity * * *
Override 	N/A 	SET 	Very rare bonus type used to set a stat at a particular value, ignoring all negative or positive modifiers	
* disables energy rate by setting it to 0
* sets Punch Through to 0m
* and sets the Fire Rate to the weapon's base Fire Rate
* and sets the Multishot to the weapon's base Multishot
*Note that there are known instances where a particular stat can have flat value and percentage-based bonuses. For example, provides a flat increase to Magazine Capacity for the while provides a +30% Magazine Capacity bonus at max rank. In these scenarios, typically percentage-based bonuses are applied to the base stat first then flat value increases. For example:
 Final Magazine Capacity = * (1 + ) + 
==Additive Stacking==
===Percent Bonuses===
\begin{aligned}
\text{Resultant Stat Value} = \text{Base Stat Value} \times (1 + \text{Additive Stat Bonus 1} + \text{Additive Stat Bonus 2} + \cdots)
\end{aligned}
:Generic formula for additive stacking percent bonuses.
All sources that add a percent bonus of the same type will typically have their bonuses added together. This commonly referred to as additive stacking (internally represented as STACKING_MULTIPLY operation type). For example, if a primary weapon has (+165% damage) and (+165% damage) installed, it will receive a total of +330% bonus base damage or 4.3x the base damage.
This is true of all percent bonuses, not just damage. For example, combining (+60% fire rate) and (+30% fire rate, +1.2 punch-through) will give a total of +90% bonus fire rate.
===Flat Value and Percentage Point Bonuses===
\begin{aligned}
\text{Resultant Stat Value} = \text{Base Stat Value} + (\text{Additive Stat Bonus 1} + \text{Additive Stat Bonus 2} + \cdots)
\end{aligned}
:Generic formula for additive stacking flat value and percentage point bonuses.
Sources that grant flat value or percentage point increases are typically applied after all other bonuses are applied (internally represented as ADD operation type). For example, say a melee weapon with 20% critical chance and equipped has critical chance. Since a max ranked grants a flat 45% critical chance when triggered, the melee weapon will have critical chance as a result.
Note that flat bonuses are additive with each other. Using the previous example, if the player's Adarza Kavat's buff triggers (adding a flat 60% critical chance), then the resultant critical chance will be .
;Exceptions
* - applied before other bonuses are applied, effectively increasing the base stat
* - applied after base damage bonuses but before other bonuses/multipliers
*'s passive - applied after base damage and elemental bonuses but before critical damage multiplier and Sniper Rifle combo counter
* - applied after the critical damage multiplier
==Multiplicative Stacking==
\begin{aligned}
\text{Resultant Stat Value} = \text{Base Stat Value} \times (1 + \text{Multiplicative Stat Bonus 1}) \times (1 + \text{Multiplicative Stat Bonus 2}) \times \cdots
\end{aligned}
:Generic formula for multiplicative stacking bonuses.
Sources that affect the same fundamental stat but have different conditions for granting its bonuses will typically have their bonuses multiplied together (but not always such as 's additively stacking with base damage mods). This is commonly referred to as multiplicative stacking. For example, a primary weapon with (+165% damage) and (+30% damage to Grineer) would result in a bonus in base damage against Grineer enemies. Note that multiplicative stacking effects grant greater bonuses than additive stacking. For example, if and were to additively stack, it would only grant bonus base damage.
Examples of sources of damage bonuses/multipliers that will multiplicatively stack with each other:
* (2.65x base damage in all situations)
* (1.9x elemental damage on top of base damage)
* procs (up to 4.25x damage on health)
* (1.3x damage against Infested)
* (1.6x damage on aiming)
* (2x damage on first shot)
* (3x damage)
*Headshots (2x damage on headshot)
*Damage Reduction from Armor
===Exponential Stacking===
In rare instances, some bonuses are applied to itself multiplicatively and is multiplicative with all other bonuses. This is often referred to as exponential stacking. For example, has a unique mechanic where each successive kill adds a charge that multiplies the next slam radial damage bonus by 2 using the following equation:
: (where n is the number of charges)
==Opportunity Cost In Modding==
===Additive Stacking===
Players may refer to additive stacking having "diminishing returns" (despite being linear increases; a more accurate term would be "opportunity cost"), meaning that at higher percent bonuses, the additional value gained per additional percent bonuses is less, relatively speaking. For instance, if one were to equip a secondary that dealt 100 base damage:
#Adding a maxed rank (+220%), it would deal 320 base damage, a relative increase in base damage.
#Adding a maxed rank (+165%), it will deal 485 base damage, a relative increase in base damage over just equipping .
#Adding a maxed rank (+90%), it will deal 575 base damage, a relative increase in base damage over just equipping and .
#Adding an unmodded Rank 3 at max buff (+275%), it will deal 850 base damage, a relative increase in base damage over just equipping , , and .
#*Notice that despite the larger base damage bonus of +275%, only provided a smaller relative increase in base damage.
#Adding a maxed rank (-15%), it will deal 835 base damage, a relative increase (or relative decrease) in base damage over just equipping , , , and with active.
#*Notice that base damage bonus penalties are also relatively low at higher base damage bonuses.
Because of this, sometimes it is better to not equip mods that provide relatively lower additive bonuses due to opportunity cost. That mod slot is better reserved for bonuses that multiplicatively stack with other bonuses.
====Armor====
Although most Armor bonuses are percentage based (thus having "diminishing returns" strictly speaking on relative armor point increases) and that the relative increase of Damage Reduction percentage is smaller at higher armor values (e.g. the difference between 100 and 200 armor is while the difference between 400 and 500 is ), the actual number of effective health points (EHP) gained per additional point of armor does not have diminishing returns and remains constant (linear change). Every 300 armor points added will provide an additional 100% nominal health to EHP. This means that at higher armor values, the difference between EHP and nominal health is greater as seen in the above graph.
{
\begin{aligned}
\text{EHP} &= \text{Nominal Health} \cdot \frac{\text{Net Armor} + 300}{300} \\
&= \text{Nominal Health} \cdot \frac{(\text{Base Armor} * \text{Armor Bonus Multiplier}) + 300}{300} \\
&= \text{Nominal Health} \cdot \text{Nominal Health Multiplier}
\end{aligned}
}
:Nominal health refers to listed health points as displayed in-game; in other words, it is the total health after mods and buffs are applied
:Simplified EHP calculation to demonstrate how damage reduction from armor can be expressed as a multiplier to nominal health. Every 300 armor points gained will increase the health multiplier by 1.
===Multiplicative Stacking===
Note that multiplicative stacking does not have "diminishing returns". For example, for a secondary that deals 100 base damage:
#Adding a maxed rank (+220%), it would deal 320 base damage, a 220% relative increase in base damage or 3.2x base damage.
#Adding a maxed rank (+30%), it will deal base damage (against Infested enemies), a 30% relative increase in base damage over just equipping or 1.3x the previous damage.
#On a headshot (2x), it will deal base damage, a 100% relative increase in base damage over just equipping and or 2x the previous damage.
#Adding a Rank 3 at max buff (3x), it will deal base damage, a 200% relative increase in base damage over just equipping , , and on a headshot or 3x the previous damage.
Like multiplicative stacking, exponential stacking also has no "diminishing returns" since the next stat bonus always give the same relative additional value gained per additional percent bonuses as the previous bonus. For instance, the has a unique passive where kills increases the damage of the next Slam Radial Attack by 100%, stacks multiplicatively with itself up to 10 times. With an unmodded with a base radial damage of 360:
*At one charge, the total radial damage will be 720, a x increase in base radial damage.
*At two charges, the total radial damage will be 1440, a x increase in base radial damage over one charge.
*At three charges, the total radial damage will be 2880, a x increase in base radial damage over two charges.
*And so on.
==Order of Operations==
To summarize, the order in which bonuses for the same fundamental stat applies as follows:
# Bonuses that additively stack with each other
#* For example, and will additively stack separately from and 's despite affecting the same damage stat.
# Bonuses that multiplicatively stack with each other and the previous additive bonuses
#* For example, bonus from and will multiplicatively stack with the bonus from and 's 
# Bonuses that grant a flat number or percentage points, additively stacking with each other
{
\begin{aligned}
\text{Resultant Stat} &= [ \text{Base Stat Value} \times (1 + \text{Add Bonus 1} + \text{Add Bonus 2} ) \times \\
&\qquad(1 + \text{Separate Add Bonus 1} + \text{Separate Add Bonus 2} ) ] + \text{Flat Bonus 1} + \text{Flat Bonus 2}
\end{aligned}
}
::Example equation demonstrating the above order.
{
\begin{aligned}
\text{Resultant Stat} &= [ \text{Base Stat Value} \times \prod (1 + \sum \text{Additive Stacking Bonuses} ) ] + \sum \text{Flat Bonuses}
\end{aligned}
}
::Expressing above equation as a product of summations since multiplicatively stacking bonuses can have additively stacking components.
==Weapons==
===Types of Damage Bonuses===
Mods primarily increase damage in one of four different ways:
#Some mods increase the base damage of the weapon. This is usually written as simply "+X% damage". For example, and .
#Some mods increase physical damage types: , , and . For example, or .
#Some mods increase primary elemental damage types: , , , and . For example, or .
#Some mods increase damage against enemies of a certain faction (i.e. faction damage bonuses). For example, or 
===The Damage Application Order===
#When calculating damage, first base damage bonuses are added together and applied. For example, the has a base damage of 29. Equipping a max rank (+165% base damage) adds additional damage for a total of damage (the arsenal will round this number to 76.9). The added damage will be of the same damage type distribution the weapon innately deals.
#Then, all elemental and physical damage bonuses are calculated based on the modified base damage. For example, adding a (+90% damage) to a Karak that already has equipped will add 90% of for a total of damage. This damage is added to the base, and the Karak now deals a total of damage if you add together all damage types.
#After that, faction damage bonuses are applied to all damage types. Note that faction damage bonuses will not be accounted for in the arsenal stats. A Karak equipped with , , and (+30% damage against Corpus) will deal an extra physical damage and an extra damage for a total of damage of all types.
Once damage is calculated, it may be affected by Critical Hit mechanics or modified based on the opponent's armor or sources of damage reduction. For detailed calculations of how various damage types affect different types of enemies, see the Damage page.
===Multishot===
For weapons that fire multiple projectiles like shotguns or , the damage calculated is the damage dealt by each projectile. In other words, if the weapon only fires one projectile at a time, all of the damage is the base damage per projectile.
If the weapon has multishot from a mod like , it will have a percent chance to fire additional projectiles per shot, each of which will deal the full modded damage as if one projectile was shot. The arsenal will display multishot bonuses as percent increases in total damage when in fact this is not true in reality. The total damage stat shown in the arsenal actually reflects the average damage dealt per shot in this case. For example, a with only equipped will see a increase in damage for an average of 55.1 damage per shot.
For weapons that only fire a single projectile, 's 90% multishot will cause each shot to randomly have a 90% chance to fire two projectiles instead of one. Since already fires 3 arrows per shot, adding will make it fire additional arrows, so each shot will fire at least 5 arrows, and 70% of shots will fire 6.
On continuous beam weapons like the , multishot adds a chance to increase damage on a tick. For example, adding to a will give a 90% chance for a damage tick to double as if two projectiles were shot.
===Calculating Physical Damage===
Physical damage mods apply only to base damage of the same type. For example, at max rank increases damage by +120%. The does 29 damage split into 13 , 8.7 , and 7.3 . A Karak equipped a max rank Fanged Fusillade will gain additional damage for a total of and total damage.
If a physical damage mod is added to a weapon that does no physical damage of the corresponding type, the mod will have no effect. For example, the does entirely damage when unmodded, so will provide no damage bonuses.
===Calculating Elemental Damage===
Elemental damage mods apply to all damage done by a weapon. For example, a max rank adds 90% damage to a rifle. If a Karak was equipped with a max rank Hellfire, it would gain damage.
Each two different elemental mods will be added up into a secondary element, with has different damage type modifiers against certain enemy health, shields, and armor classes. For combined elements, the slots are ordered from left to right, top row then bottom row, with any inherent elemental damage (from the weapon) added last.
For example, if both (+ damage) and (+ damage) are equipped on an , they will combine to add damage to the weapon's base damage. If only Hellfire is used, it will combine with the Amprex's base damage to make damage instead.
If multiple mods of the same element are added, only the first is used when making combinations. For example, if Hellfire, Cryo Rounds, and are added to an , no matter what the order is the weapon will deal and damage since the element has already combined with , so the second mod simply increases the amount of damage dealt.
===Combining Physical and Elemental Damage===
Both physical and elemental damage are combined in the same step and are based only on the weapon's base damage and any mods that effect base damage. 
In terms of raw damage, this makes a +90% elemental damage bonus superior to +90% physical damage bonus unless the weapon deals all of its damage as a single physical damage type. In reality, the total effect varies based on the health, shields, abd armor classes of enemy being damaged due to damage type vulnerabilities and resistances.
==Damage Calculations==
==Patch History==
Category:Mechanics
Category:Real-World References