WARFRAME Wiki
Advertisement
WARFRAME Wiki
ArchimedeanYonta
“Very well. Keep your secrets.”
This article/section contains unofficial information, concepts, or terminology derived from or based on community discussion, invention, or knowledge. It may be subjective and contain information or terminology that is not used by Digital Extremes or in official WARFRAME communications, and may not be an officially recognized concept.

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.[1] The same goes for temporary or conditional buffs and debuffs from abilities, mods, Arcane Enhancements, and enemies.

Last updated: Sat, 22 Jun 2024 19:48:18 +0000 (UTC) by User:Cephalon Scientia

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:

Converting percent bonuses to multipliers.

For simplicity, calculations in this article (and throughout the wiki) will represent percent bonuses as decimals and will use 1 + Net Percent Bonus as a decimal 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 DmgImpactSmall64 Impact damage (e.g. +25% DmgImpactSmall64 Impact damage bonus), one can also say that the enemy:

  • Is 25% less resistance to taking DmgImpactSmall64 Impact damage (e.g. -25% DmgImpactSmall64 Impact damage reduction)
  • Is 125% vulnerable (100% + 25%) to DmgImpactSmall64 Impact damage (notice "more" is omitted)
  • Has -25% resistance to incoming DmgImpactSmall64 Impact damage (negative resistance is equivalent to vulnerability)
  • Has a 0.75x multiplier (100% - 25%) to incoming DmgImpactSmall64 Impact 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: Mod TT 20px Entropy Burst's status chance bonus
Final Status Chance = Base Status Chance + Mod TT 20px 20

Laetum Laetum's Elemental Excess perk (-10 critical chance percentage points)

Final Critical Chance = Base Critical Chance + Laetum -10
Multiplication Additive Stacking STACKING_MULTIPLY Most common bonus, applies to almost all percentage-based bonuses: Mod TT 20px Serration's and Mod TT 20px Heavy Caliber's damage bonus
Final Damage = Base Damage * (1 + Mod TT 20px 1.65 + Mod TT 20px 1.65)
Multiplication Multiplicative Stacking MULTIPLY Mod TT 20px Antitoxin's and Mod TT 20px Toxin Resistance's damage resistance to DmgToxinSmall64 Toxin
Damage Taken = Initial Toxin Damage * (Mod TT 20px 0.55 * Mod TT 20px 0.85)

Affinity bonuses

Total Affinity = Initial Affinity * 3DayAffinityBooster 2 * 1.3 * 1.25
Override N/A SET Very rare bonus type used to set a stat at a particular value, ignoring all negative or positive modifiers
  • Note that there are known instances where a particular stat can have flat value and percentage-based bonuses. For example, Mod TT 20px Stinging Truth provides a flat increase to Magazine Capacity for the Viper Viper while Mod TT 20px Slip Magazine 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 = Viper 14 * (1 + Mod TT 20px 0.3) + Mod TT 20px 40

Additive Stacking[]

Percent Bonuses[]

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 Mod TT 20px Serration (+165% damage) and Mod TT 20px Heavy Caliber (+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 Mod TT 20px Speed Trigger (+60% fire rate) and Mod TT 20px Shred (+30% fire rate, +1.2 punch-through) will give a total of +90% bonus fire rate.

Flat Value and Percentage Point Bonuses[]

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 Mod TT 20px True Steel equipped has 0.2 × (1 + 1.2) = 44% critical chance. Since a max ranked ArcaneAvenger Arcane Avenger grants a flat 45% critical chance when triggered, the melee weapon will have 0.44 + 0.45 = 89% 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 Mod TT 20px Cat's Eye buff triggers (adding a flat 60% critical chance), then the resultant critical chance will be 0.44 + 0.45 + 0.6 = 149%.

Exceptions
  • Mod TT 20px Piercing Navigator - applied before other bonuses are applied, effectively increasing the base stat
  • BallisticBattery130xWhite Ballistic Battery - applied after base damage bonuses but before other bonuses/multipliers
  • VoltIcon272 Volt's passive - applied after base damage and elemental bonuses but before critical damage multiplier and Sniper Rifle combo counter
  • Mod TT 20px Energy Channel - applied after the critical damage multiplier

Multiplicative Stacking[]

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 ChromaIcon272 Chroma's VexArmor130xWhite Vex Armor additively stacking with base damage mods). This is commonly referred to as multiplicative stacking. For example, a primary weapon with Mod TT 20px Serration (+165% damage) and Mod TT 20px Bane of Grineer (+30% damage to Grineer) would result in a [(1 + 1.65) × (1 + 0.3) - 1] = 244.5% bonus in base damage against Grineer enemies. Note that multiplicative stacking effects grant greater bonuses than additive stacking. For example, if Mod TT 20px Serration and Mod TT 20px Bane of Grineer were to additively stack, it would only grant 1.65 + 0.3 = 195% bonus base damage.

Examples of sources of damage bonuses/multipliers that will multiplicatively stack with each other:

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, ArcaTitron Arca Titron 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:

Total Radial Damage = Base Radial Damage × 2n (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:

  1. Adding a maxed rank Mod TT 20px Hornet Strike (+220%), it would deal 320 base damage, a Mod TT 20px 2.2 / 1 = 220% relative increase in base damage.
  2. Adding a maxed rank Mod TT 20px Magnum Force (+165%), it will deal 485 base damage, a Mod TT 20px 1.65 / (1 + Mod TT 20px 2.2) = 51.5625% relative increase in base damage over just equipping Mod TT 20px Hornet Strike.
  3. Adding a maxed rank Mod TT 20px Augur Pact (+90%), it will deal 575 base damage, a Mod TT 20px 0.9 / (1 + Mod TT 20px 2.2 + Mod TT 20px 1.65) = 18.5567% relative increase in base damage over just equipping Mod TT 20px Hornet Strike and Mod TT 20px Magnum Force.
  4. Adding an unmodded Rank 3 VexArmor130xWhite Vex Armor at max buff (+275%), it will deal 850 base damage, a VexArmor130xWhite 2.75 / (1 + Mod TT 20px 2.2 + Mod TT 20px 1.65 + Mod TT 20px 0.9) = 47.8261% relative increase in base damage over just equipping Mod TT 20px Hornet Strike, Mod TT 20px Magnum Force, and Mod TT 20px Augur Pact.
    • Notice that despite the larger base damage bonus of +275%, VexArmor130xWhite Vex Armor only provided a smaller relative increase in base damage.
  5. Adding a maxed rank Mod TT 20px Anemic Agility (-15%), it will deal 835 base damage, a Mod TT 20px -0.15 / (1 + Mod TT 20px 2.2 + Mod TT 20px 1.65 + Mod TT 20px 0.9 + VexArmor130xWhite 2.75) = −1.7647% relative increase (or 1.7647% relative decrease) in base damage over just equipping Mod TT 20px Hornet Strike, Mod TT 20px Magnum Force, Mod TT 20px Augur Pact, and with VexArmor130xWhite Vex Armor 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[]

REH

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 15% while the difference between 400 and 500 is 5.3571%), 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.

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:

  1. Adding a maxed rank Mod TT 20px Hornet Strike (+220%), it would deal 320 base damage, a 220% relative increase in base damage or 3.2x base damage.
  2. Adding a maxed rank Mod TT 20px Bane of Infested (+30%), it will deal 416 base damage (against Infested enemies), a 30% relative increase in base damage over just equipping Mod TT 20px Hornet Strike or 1.3x the previous damage.
  3. On a headshot (2x), it will deal 832 base damage, a 100% relative increase in base damage over just equipping Mod TT 20px Hornet Strike and Mod TT 20px Bane of Infested or 2x the previous damage.
  4. Adding a Rank 3 Eclipse130xWhite Eclipse at max buff (3x), it will deal 2,496 base damage, a 200% relative increase in base damage over just equipping Mod TT 20px Hornet Strike, Mod TT 20px Bane of Infested, 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 ArcaTitron Arca Titron 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 ArcaTitron Arca Titron with a base radial damage of DmgElectricitySmall64 Electricity 360:

  • At one charge, the total radial damage will be DmgElectricitySmall64 Electricity 720, a 2 / 1 = 2x increase in base radial damage.
  • At two charges, the total radial damage will be DmgElectricitySmall64 Electricity 1440, a (2 * 2) / (1 * 2) = 2x increase in base radial damage over one charge.
  • At three charges, the total radial damage will be DmgElectricitySmall64 Electricity 2880, a (2 * 2 * 2) / (1 * 2 * 2) = 2x 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:

  1. Bonuses that additively stack with each other
  2. Bonuses that multiplicatively stack with each other and the previous additive bonuses
  3. Bonuses that grant a flat number or percentage points, additively stacking with each other

Example equation demonstrating the above order.

Expressing above equation as a product of summations since multiplicatively stacking bonuses can have additively stacking components.

Weapons[]

Photo-4
“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.
Not accounting for Kuva/Tenet weapons with an innate primary damage type that can also have a primary elemental progenitor bonus
Photo-4
“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.
Also missing elemental damage bonus from non-Mod sources like Warframe abilities (readers may ask what is the element type priority in these cases)

Types of Damage Bonuses[]

Mods primarily increase damage in one of four different ways:

  1. Some mods increase the base damage of the weapon. This is usually written as simply "+X% damage". For example, Mod TT 20px Hornet Strike and Mod TT 20px Serration.
  2. Some mods increase physical damage types: DmgSlashSmall64 Slash, DmgImpactSmall64 Impact, and DmgPunctureSmall64 Puncture. For example, Mod TT 20px Fanged Fusillade or Mod TT 20px Piercing Caliber.
  3. Some mods increase primary elemental damage types: DmgFireSmall64 Heat, DmgElectricitySmall64 Electricity, DmgColdSmall64 Cold, and DmgToxinSmall64 Toxin. For example, Mod TT 20px Pathogen Rounds or Mod TT 20px Hellfire.
  4. Some mods increase damage against enemies of a certain faction (i.e. faction damage bonuses). For example, Mod TT 20px Bane of Corpus or Mod TT 20px Bane of Infested

The Damage Application Order[]

  1. When calculating damage, first base damage bonuses are added together and applied. For example, the Karak Karak has a base damage of 29. Equipping a max rank Mod TT 20px Serration (+165% base damage) adds 1.65 × 29 = 47.85 additional damage for a total of 76.85 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.
  2. Then, all elemental and physical damage bonuses are calculated based on the modified base damage. For example, adding a Mod TT 20px Hellfire (+90% DmgFireSmall64 Heat damage) to a Karak that already has Mod TT 20px Serration equipped will add 90% of 76.85 for a total of 69.165 DmgFireSmall64 Heat damage. This damage is added to the base, and the Karak now deals a total of 146.015 damage if you add together all damage types.
  3. 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 Mod TT 20px Serration, Mod TT 20px Hellfire, and Mod TT 20px Bane of Corpus (+30% damage against Corpus) will deal an extra 0.3 × 76.85 = 23.055 physical damage and an extra 0.3 × 69.165 = 20.7495 DmgFireSmall64 Heat damage for a total of 189.8195 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 CernosPrime Cernos Prime, 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 Mod TT 20px Split Chamber, 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 Karak Karak with only Mod TT 20px Split Chamber equipped will see a 29 × 0.9 = 26.1 increase in damage for an average of 55.1 damage per shot.

For weapons that only fire a single projectile, Mod TT 20px Split Chamber's 90% multishot will cause each shot to randomly have a 90% chance to fire two projectiles instead of one. Since CernosPrime Cernos Prime already fires 3 arrows per shot, adding Mod TT 20px Split Chamber will make it fire 3 × 0.9 = 2.7 additional arrows, so each shot will fire at least 5 arrows, and 70% of shots will fire 6.

On continuous beam weapons like the Glaxion Glaxion, multishot adds a chance to increase damage on a tick. For example, adding Mod TT 20px Split Chamber to a Glaxion Glaxion 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 Mod TT 20px Fanged Fusillade increases DmgSlashSmall64 Slash damage by +120%. The Karak Karak does 29 damage split into 13 DmgImpactSmall64 Impact, 8.7 DmgPunctureSmall64 Puncture, and 7.3 DmgSlashSmall64 Slash. A Karak equipped a max rank Fanged Fusillade will gain 7.3 × 1.2 = 8.76 additional DmgSlashSmall64 Slash damage for a total of 16.06 DmgSlashSmall64 Slash and 37.76 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 Amprex Amprex does entirely DmgElectricitySmall64 Electricity damage when unmodded, so Mod TT 20px Fanged Fusillade will provide no DmgSlashSmall64 Slash damage bonuses.

Calculating Elemental Damage[]

Elemental damage mods apply to all damage done by a weapon. For example, a max rank Mod TT 20px Hellfire adds 90% DmgFireSmall64 Heat damage to a rifle. If a Karak was equipped with a max rank Hellfire, it would gain 29 × 0.9 = 26.1 DmgFireSmall64 Heat 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 Mod TT 20px Hellfire (+DmgFireSmall64 Heat damage) and Mod TT 20px Cryo Rounds (+DmgColdSmall64 Cold damage) are equipped on an Amprex Amprex, they will combine to add DmgBlastSmall64 Blast damage to the weapon's base DmgElectricitySmall64 Electricity damage. If only Hellfire is used, it will combine with the Amprex's base DmgElectricitySmall64 Electricity damage to make DmgRadiationSmall64 Radiation 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 Mod TT 20px Thermite Rounds are added to an Amprex Amprex, no matter what the order is the weapon will deal DmgBlastSmall64 Blast and DmgElectricitySmall64 Electricity damage since the DmgFireSmall64 Heat element has already combined with DmgColdSmall64 Cold, so the second DmgFireSmall64 Heat mod simply increases the amount of DmgBlastSmall64 Blast 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[]

This section is transcluded from Damage § Final Calculations. To change it, please edit the transcluded page.


Patch History[]

Update 34.0 (2023-10-18)

Base vs Final Stats in Modding - Health / Energy / Shield / Armor Stat Overhaul

If you’ve spent any time invested in the deeper nuances of Modding, you may be familiar with “Warframe Math” - math that upon first glance doesn’t really make sense, but once you learn the inner workings of the game, it all comes together. While we can appreciate the value that complex systems offer to a certain subsect of players, there are other aspects of the game that should have clear and understandable outcomes. Namely: Shield, Health, Energy, and Armor Modding.

Pop quiz: what is 300 + 440%? If you answered 740, you may just be an Excalibur player.

Vitality (+440% Heath), Redirection (+440% Shields), Flow (+150% Energy), and Steel Fiber (+110% Armor) come with large modifier values that don’t seem to match their outcome in-game. This is because these Mods apply their multiplier to the base stats of the Warframe - i.e., the stats you have at Rank 0. In the Excalibur example, a Rank 30 Excalibur’s Health stat of 300 earns an additional 440 Health from max rank Vitality (+440% Heath) since it applies to his base rank Health stat of 100, resulting in 740 total health.

In this update, we have removed this obfuscation by having Health, Shield, Energy, and Armor Mods apply to the stats of Warframes at their current rank. Continuing our Excalibur example, instead of Vitality always applying to Excalibur’s base rank 100 Health, it would apply to his Health stat based on his rank - namely, the stat you can actually see in your Arsenal. If your Excalibur were Rank 30, his Health stat would be 300, which means Vitality’s multiplier would be calculated off of 300.

With previous Health and Mod values, additional adjustments are needed to make this revision work while maintaining game balance. By only changing where the multiplier applies, a Rank 30 Excalibur would receive an extra 1,320 Health from max rank Vitality, resulting in a total health stat of 1,600. This outcome is a significant buff, which is not the intention of this system change.

To remedy this, we approached this problem in two ways:

1 - We reduced the overall multiplier for Health, Shield, Energy, and Armor Mods.
Since these now affect Max Rank Warframe stats, these Mods need to scale differently to maintain the status quo. Additionally, we wanted these new values to be as clear and understandable to all players as possible! Here are a few examples of these value changes:

  • Vitality: Reduced from +440% to +100% Health
  • Redirection: Reduced from +440% to +100% Shield Capacity
  • Steel Fiber: Reduced from +110% to +100% Armor
  • Flow: Reduced from +150% to +100% Energy Max

Note: These are not all of the Mods affected by this change. We share the comprehensive list further down in this section of the update notes.

Doing some quick math, this means that a Rank 30 Excalibur (300 Health) with a reworked Vitality Mod (+100% Health, applied to the final Health stat) would receive 300 extra Health, for a total of 600. That, in contrast, is a nerf, which we also don’t want to do.

So, our next step:

2 - We adjusted Warframe Health, Shield, Energy, and Armor values to keep the end result of the revised Mods as close to the original values as possible.

With this change, Excalibur’s Rank 30 Health stat is 370. With +100% Health from a max Vitality Mod, his resulting Health stat would be 740, which matches what it was originally.

While this path to the same result may seem a little complicated, the outcome matches our intention: we want players to be able to look at their Health, Shield, and Armor Mods, and be able to understand how they affect the stats they see in their Arsenal.

In addition to everything above, we also increased the base stat values for Warframes so that these revised Mods offer similar value for lower-ranked Frames. To do so, we reduced the amount of Health/Shield/Energy that Warframes earn per rank in half, and transferred the sum of that value to their base stats.

For Armor, this is the one stat that does not increase with your Warframe’s level (with some exceptions). Armor values across the board have been slightly increased to compensate for the Mod changes.

Not to beat a dead Kaithe, but Mods will now be applying to the Max Rank stat instead of the Base Rank. You may look at these numbers and think “nerf” or “buff” depending, but the outcome is that total Modded values are the same, if not a little higher in some cases.


  1. GreatBaldung (2016, May 11). Apparently moving mods around has a negative effect on stats. Reddit. Archived from the original on 2022-09-19. In rare instances, the UI may have rounding differences that are not reflective of gameplay performance when swapping positions of two mods. Image: https://imgur.com/a/ivHA1#XxsMw8F.
Advertisement