All enemies encountered in WARFRAME have a certain level, which determines their strength by increasing some of their base statistics. The stats amplified by enemy level gain are Health, Armor, Shields, Damage dealt, and Affinity on death. The purpose of this article is to show how exactly these stats scale with level, how this translates to useful indicators such as effective health, and what implications this has towards player decision making such as Aura mods or damage type selection.

Enemy levels can exceed the limit of 9999 only in Void Fissure missions. In addition, stats of regular enemies don't scale with squad size. Known exceptions are Demolishers, Acolytes and Archons.

Common Features of Stat Scaling[]

How scaling of fundamental enemy stats works in general is identical for all the stats: Each enemy type has a base value for this fundamental stat and a base level, the current value of the stat at the current level of the enemy is then calculated after a formula of the following structure:

Current Value = Base Value × ( 1 + Coefficient ( Current Level Base Level ) Exponent ) {\displaystyle \text{Current Value} = \text{Base Value} \times (1 + \text{Coefficient}(\text{Current Level} - \text{Base Level})^\text{Exponent})} {\displaystyle {\text{Current Value}}={\text{Base Value}}\times (1+{\text{Coefficient}}({\text{Current Level}}-{\text{Base Level}})^{\text{Exponent}})}

Exponent and coefficient are determined by the specific stat in question and differ across enemy faction. The base level and base value of the stat are determined by the enemy type. The current level is then the independent variable and the current value of the stat is the dependent variable of the formula.

At lower levels the coefficient is normally less than one, so growth is not easily noticed until mid-level ranges. For high levels, the exponent has the most impact when comparing different scaling stats against each other. If the exponent is 1, the scaling of the stat would be linear with level, which means the increase in value as level grows would be constant. For exponents higher than 1, each successive level-up grants a larger increase than the previous one, and for exponents lower than one, each successive level-up grants a smaller increase than the previous one.

The only exception of this common structure is Affinity scaling, where the current level is used instead of the difference between the current and base level.

Scaling of Fundamental Stats[]

As mentioned, all fundamental stats scale by the above formula structure and common features apply. A standardized graph is shown for each stat. When comparing the graphs, the different Y-axis scaling has to be considered. As of Update 27.2 (2020-03-05) health, shield, and armor scaling follow an "S"-like curve, where below a universal level range these stats grow quickly, and above this range, the stats grow slower and begin to plateau.

Health, shields, armor scaling formulae use two main functions to determine stat scaling at a particular level. One function is used when enemy level difference is below 70 and the other when enemy level difference is above 80. A common feature between the functions used is that they intersect at x=80. In other words, they produce the same value when the enemy level difference is 80.

Stat scaling between 70-80 inclusive is interpolated from the two functions using smoothstep.

T ( x ) = x Base Level 70 10 {\displaystyle T(x) = \frac{x - \text{Base Level} - 70}{10} } {\displaystyle T(x)={\frac {x-{\text{Base Level}}-70}{10}}}
Finding out transition percentage from 70 to 80
S 1 ( x ) = { 0 , x Base Level < 70 3 ( T ( x ) ) 2 2 ( T ( x ) ) 3 , 70 x Base Level 80 1 , x Base Level > 80 {\displaystyle S_1(x) = \begin{cases} 0,\; & x - \text{Base Level} < 70 \\ 3(T(x))^{2} - 2(T(x))^{3} ,\; & 70 \leq x - \text{Base Level} \leq 80 \\ 1,\; & x - \text{Base Level} > 80 \end{cases} } {\displaystyle S_{1}(x)={\begin{cases}0,\;&x-{\text{Base Level}}<70\\3(T(x))^{2}-2(T(x))^{3},\;&70\leq x-{\text{Base Level}}\leq 80\\1,\;&x-{\text{Base Level}}>80\end{cases}}}
Smoothstep transitioning between functions

Note that while the growth at early levels is normally referred to as exponential by the community, it is actually a power growth of the form xn, which is an order less than exponential growth (i.e. xn ∈ O(nx) v. nx ∉ O(xn)).

Note that the following health, shield, armor, and overguard scaling formulae are derived from in-game testing and have not been confirmed or denied valid by Digital Extremes at this time. The accuracy of the following information is still under review.

Health[]

For health, the ranges of level differences from base to current level at which scaling transitions is between 70 & 80.

Grineer[]

The formula by which Grineer health scales is as follows:

f 1 ( x ) = 1 + 0.015 ( x Base Level ) 2.12 {\displaystyle f_{1}(x)=1+0.015(x-{\text{Base Level}})^{2.12}} {\displaystyle f_{1}(x)=1+0.015(x-{\text{Base Level}})^{2.12}}
When Current Level - Base Level < 70
f 2 ( x ) = 1 + 24 5 5 ( x Base Level ) 0.72 {\displaystyle f_{2}(x)=1+{\frac {24{\sqrt {5}}}{5}}(x-{\text{Base Level}})^{0.72}} {\displaystyle f_{2}(x)=1+{\frac {24{\sqrt {5}}}{5}}(x-{\text{Base Level}})^{0.72}}
When Current Level - Base Level > 80

Corpus[]

The formula by which Corpus health scales is as follows:

f 1 ( x ) = 1 + 0.015 ( x Base Level ) 2.12 {\displaystyle f_{1}(x)=1+0.015(x-{\text{Base Level}})^{2.12}} {\displaystyle f_{1}(x)=1+0.015(x-{\text{Base Level}})^{2.12}}
When Current Level - Base Level < 70
f 2 ( x ) = 1 + 30 5 5 ( x Base Level ) 0.55 {\displaystyle f_{2}(x)=1+{\frac {30{\sqrt {5}}}{5}}(x-{\text{Base Level}})^{0.55}} {\displaystyle f_{2}(x)=1+{\frac {30{\sqrt {5}}}{5}}(x-{\text{Base Level}})^{0.55}}
When Current Level - Base Level > 80

Infested[]

The formula by which Infested health scales is as follows:

f 1 ( x ) = 1 + 0.0225 ( x Base Level ) 2.12 {\displaystyle f_{1}(x)=1+0.0225(x-{\text{Base Level}})^{2.12}} {\displaystyle f_{1}(x)=1+0.0225(x-{\text{Base Level}})^{2.12}}
When Current Level - Base Level < 70
f 2 ( x ) = 1 + 36 5 5 ( x Base Level ) 0.72 {\displaystyle f_{2}(x)=1+{\frac {36{\sqrt {5}}}{5}}(x-{\text{Base Level}})^{0.72}} {\displaystyle f_{2}(x)=1+{\frac {36{\sqrt {5}}}{5}}(x-{\text{Base Level}})^{0.72}}
When Current Level - Base Level > 80

Corrupted[]

The formula by which Corrupted health scales is as follows:

f 1 ( x ) = 1 + 0.015 ( x Base Level ) 2.1 {\displaystyle f_{1}(x)=1+0.015(x-{\text{Base Level}})^{2.1}} {\displaystyle f_{1}(x)=1+0.015(x-{\text{Base Level}})^{2.1}}
When Current Level - Base Level < 70
f 2 ( x ) = 1 + 24 5 5 ( x Base Level ) 0.685 {\displaystyle f_{2}(x)=1+{\frac {24{\sqrt {5}}}{5}}(x-{\text{Base Level}})^{0.685}} {\displaystyle f_{2}(x)=1+{\frac {24{\sqrt {5}}}{5}}(x-{\text{Base Level}})^{0.685}}
When Current Level - Base Level > 80

Murmur, Sentient, and Unaffiliated[]

The formula by which enemy health scales is as follows:

f 1 ( x ) = 1 + 0.015 ( x Base Level ) 2 {\displaystyle f_1(x) = 1 + 0.015(x - \text{Base Level})^2} {\displaystyle f_{1}(x)=1+0.015(x-{\text{Base Level}})^{2}}
When Current Level - Base Level < 70
f 2 ( x ) = 1 + 24 5 5 ( x Base Level ) 0.5 {\displaystyle f_2(x) = 1 + \frac{24 \sqrt{5} }{5}(x - \text{Base Level})^{0.5}} {\displaystyle f_{2}(x)=1+{\frac {24{\sqrt {5}}}{5}}(x-{\text{Base Level}})^{0.5}}
When Current Level - Base Level > 80

Eximus[]

Eximus health scaling is the same across all factions

The formula by which eximus health scales is as follows:

f 1 ( x ) = 1 + 0.015 ( x Base Level ) 2 {\displaystyle f_1(x) = 1 + 0.015(x - \text{Base Level})^2} {\displaystyle f_{1}(x)=1+0.015(x-{\text{Base Level}})^{2}}
When Current Level - Base Level < 70
f 2 ( x ) = 1 + 24 5 5 ( x Base Level ) 0.5 {\displaystyle f_2(x) = 1 + \frac{24 \sqrt{5} }{5}(x - \text{Base Level})^{0.5}} {\displaystyle f_{2}(x)=1+{\frac {24{\sqrt {5}}}{5}}(x-{\text{Base Level}})^{0.5}}
When Current Level - Base Level > 80

In addition, the base health is also increased between certain breakpoints:

Health Multiplier = { f 1 ( x ) , x 15 ( 1 + 0.025 ( x 15 ) ) f 1 ( x ) , 15 < x 25 ( 1.25 + 0.125 ( x 25 ) ) f 1 ( x ) , 25 < x 35 ( 2.5 + 2 / 15 ( x 35 ) ) f 1 ( x ) , 35 < x 50 ( 4.5 + 0.03 ( x 50 ) ) [ f 1 ( x ) × ( 1 S 1 ( x ) ) + f 2 ( x ) × S 1 ( x ) ] 50 < x 100 6 f 2 ( x ) , 100 > x {\displaystyle {{\text{Health Multiplier}}={\begin{cases}f_{1}(x),\;&x\leq 15\\(1+0.025*(x-15))*f_{1}(x),\;&15<x\leq 25\\(1.25+0.125*(x-25))*f_{1}(x),\;&25<x\leq 35\\(2.5+2/15*(x-35))*f_{1}(x),\;&35<x\leq 50\\(4.5+0.03*(x-50))*[f_{1}(x)\times (1-S_{1}(x))+f_{2}(x)\times S_{1}(x)]\;&50<x\leq 100\\6*f_{2}(x),\;&100>x\\\end{cases}}}} {\displaystyle {{\text{Health Multiplier}}={\begin{cases}f_{1}(x),\;&x\leq 15\\(1+0.025*(x-15))*f_{1}(x),\;&15<x\leq 25\\(1.25+0.125*(x-25))*f_{1}(x),\;&25<x\leq 35\\(2.5+2/15*(x-35))*f_{1}(x),\;&35<x\leq 50\\(4.5+0.03*(x-50))*[f_{1}(x)\times (1-S_{1}(x))+f_{2}(x)\times S_{1}(x)]\;&50<x\leq 100\\6*f_{2}(x),\;&100>x\\\end{cases}}}}
Where the Health Multiplier is the value that multiplies an enemy's base health to its current health.

Shields[]

For shields, the ranges of level differences at which scaling transitions is between 70 & 80.

Corpus[]

The formula by which Corpus shields scale is as follows:

f 1 ( x ) = 1 + 0.02 ( x Base Level ) 1.76 {\displaystyle f_{1}(x)=1+0.02(x-{\text{Base Level}})^{1.76}} {\displaystyle f_{1}(x)=1+0.02(x-{\text{Base Level}})^{1.76}}
When Current Level - Base Level < 70
f 2 ( x ) = 1 + 2 ( x Base Level ) 0.76 {\displaystyle f_{2}(x)=1+2(x-{\text{Base Level}})^{0.76}} {\displaystyle f_{2}(x)=1+2(x-{\text{Base Level}})^{0.76}}
When Current Level - Base Level > 80

Corrupted[]

The formula by which Corrupted shields scale is as follows:

f 1 ( x ) = 1 + 0.02 ( x Base Level ) 1.75 {\displaystyle f_1(x) = 1 + 0.02(x - \text{Base Level})^{1.75}} {\displaystyle f_{1}(x)=1+0.02(x-{\text{Base Level}})^{1.75}}
When Current Level - Base Level < 70
f 2 ( x ) = 1 + 2 ( x Base Level ) 0.75 {\displaystyle f_{2}(x)=1+2(x-{\text{Base Level}})^{0.75}} {\displaystyle f_{2}(x)=1+2(x-{\text{Base Level}})^{0.75}}
When Current Level - Base Level > 80

Grineer[]

The formula by which Grineer shields scale is as follows:

f 1 ( x ) = 1 + 0.02 ( x Base Level ) 1.75 {\displaystyle f_1(x) = 1 + 0.02(x - \text{Base Level})^{1.75}} {\displaystyle f_{1}(x)=1+0.02(x-{\text{Base Level}})^{1.75}}
When Current Level - Base Level < 70
f 2 ( x ) = 1 + 1.6 ( x Base Level ) 0.75 {\displaystyle f_2(x) = 1 + 1.6(x - \text{Base Level})^{0.75}} {\displaystyle f_{2}(x)=1+1.6(x-{\text{Base Level}})^{0.75}}
When Current Level - Base Level > 80

Eximus[]

Eximus shield scaling is the same across all factions

The formula by which eximus shield scales is as follows:

f 1 ( x ) = 1 + 0.02 ( x Base Level ) 1.75 {\displaystyle f_1(x) = 1 + 0.02(x - \text{Base Level})^{1.75}} {\displaystyle f_{1}(x)=1+0.02(x-{\text{Base Level}})^{1.75}}
When Current Level - Base Level < 70
f 2 ( x ) = 1 + 2 ( x Base Level ) 0.75 {\displaystyle f_{2}(x)=1+2(x-{\text{Base Level}})^{0.75}} {\displaystyle f_{2}(x)=1+2(x-{\text{Base Level}})^{0.75}}
When Current Level - Base Level > 80

In addition, the base shield is also increased between certain breakpoints:

Shield Multiplier = { f 1 ( x ) , x 15 ( 1 + 0.025 ( x 15 ) ) f 1 ( x ) , 15 < x 25 ( 1.25 + 0.125 ( x 25 ) ) f 1 ( x ) , 25 < x 35 ( 2.5 + 2 / 15 ( x 35 ) ) f 1 ( x ) , 35 < x 50 ( 4.5 + 0.03 ( x 50 ) ) [ f 1 ( x ) × ( 1 S 1 ( x ) ) + f 2 ( x ) × S 1 ( x ) ] 50 < x 100 6 f 2 ( x ) , 100 > x {\displaystyle {{\text{Shield Multiplier}}={\begin{cases}f_{1}(x),\;&x\leq 15\\(1+0.025*(x-15))*f_{1}(x),\;&15<x\leq 25\\(1.25+0.125*(x-25))*f_{1}(x),\;&25<x\leq 35\\(2.5+2/15*(x-35))*f_{1}(x),\;&35<x\leq 50\\(4.5+0.03*(x-50))*[f_{1}(x)\times (1-S_{1}(x))+f_{2}(x)\times S_{1}(x)]\;&50<x\leq 100\\6*f_{2}(x),\;&100>x\\\end{cases}}}} {\displaystyle {{\text{Shield Multiplier}}={\begin{cases}f_{1}(x),\;&x\leq 15\\(1+0.025*(x-15))*f_{1}(x),\;&15<x\leq 25\\(1.25+0.125*(x-25))*f_{1}(x),\;&25<x\leq 35\\(2.5+2/15*(x-35))*f_{1}(x),\;&35<x\leq 50\\(4.5+0.03*(x-50))*[f_{1}(x)\times (1-S_{1}(x))+f_{2}(x)\times S_{1}(x)]\;&50<x\leq 100\\6*f_{2}(x),\;&100>x\\\end{cases}}}}
Where the Shield Multiplier is the value that multiplies an enemy's base shields to its current shields.

Armor[]

Enemy armor is hard capped at 2,700, granting them 90% Damage Reduction.

For armor, the ranges of level differences at which scaling transitions is between 70 & 80. The formula by which enemy armor scales is as follows:

f 1 ( x ) = 1 + 0.005 ( x Base Level ) 1.75 {\displaystyle f_1(x) = 1 + 0.005(x - \text{Base Level})^{1.75}} {\displaystyle f_{1}(x)=1+0.005(x-{\text{Base Level}})^{1.75}}
When Current Level - Base Level < 70
f 2 ( x ) = 1 + 0.4 ( x Base Level ) 0.75 {\displaystyle f_2(x) = 1 + 0.4(x - \text{Base Level})^{0.75}} {\displaystyle f_{2}(x)=1+0.4(x-{\text{Base Level}})^{0.75}}
When Current Level - Base Level > 80
Armor Multiplier = [ f 1 ( Current Level ) × ( 1 S 1 ( Current Level ) ] + [ f 2 ( Current Level ) × S 1 ( Current Level ) ] {\displaystyle { \begin{align} \text{Armor Multiplier} = [f_1(\text{Current Level})\times(1 - S_1(\text{Current Level})] \\ + [f_2(\text{Current Level})\times S_1(\text{Current Level})] \end{align} } } {\displaystyle {\begin{aligned}{\text{Armor Multiplier}}=[f_{1}({\text{Current Level}})\times (1-S_{1}({\text{Current Level}})]\\+[f_{2}({\text{Current Level}})\times S_{1}({\text{Current Level}})]\end{aligned}}}
Where the Armor Multiplier is the value that multiplies an enemy's base armor to its current armor.

Overguard[]

Overguard is a unique health buffer to Eximus, though normal units can get overguard in unique situations (like after a Overguard Exodamper is destroyed during Void Armageddon).[1]

f 1 ( x ) = 1 + 0.0015 ( x Base Level ) 4 {\displaystyle f_1(x) = 1 + 0.0015(x - \text{Base Level})^4} {\displaystyle f_{1}(x)=1+0.0015(x-{\text{Base Level}})^{4}}
When Current Level - Base Level < 45
f 2 ( x ) = 1 + 260 ( x Base Level ) 0.9 {\displaystyle f_2(x) = 1 + 260(x - \text{Base Level})^{0.9}} {\displaystyle f_{2}(x)=1+260(x-{\text{Base Level}})^{0.9}}
When Current Level - Base Level > 50

Stat scaling between 45-50 inclusive is interpolated from the two functions using smoothstep.

T ( x ) = x Base Level 45 5 {\displaystyle T(x) = \frac{x - \text{Base Level} - 45}{5} } {\displaystyle T(x)={\frac {x-{\text{Base Level}}-45}{5}}}
Finding out transition percentage from 45 to 50
S 2 ( x ) = { 0 , x Base Level < 45 3 ( T ( x ) ) 2 2 ( T ( x ) ) 3 , 45 x Base Level 50 1 , x Base Level > 50 {\displaystyle S_2(x) = \begin{cases} 0,\; & x - \text{Base Level} < 45 \\ 3(T(x))^{2} - 2(T(x))^{3} ,\; & 45 \leq x - \text{Base Level} \leq 50 \\ 1,\; & x - \text{Base Level} > 50 \end{cases} } {\displaystyle S_{2}(x)={\begin{cases}0,\;&x-{\text{Base Level}}<45\\3(T(x))^{2}-2(T(x))^{3},\;&45\leq x-{\text{Base Level}}\leq 50\\1,\;&x-{\text{Base Level}}>50\end{cases}}}
Smoothstep transitioning between functions
Overguard Multiplier = [ f 1 ( Current Level ) × ( 1 S 2 ( Current Level ) ] + [ f 2 ( Current Level ) × S 2 ( Current Level ) ] {\displaystyle { \begin{align} \text{Overguard Multiplier} = [f_1(\text{Current Level})\times(1 - S_2(\text{Current Level})] \\ + [f_2(\text{Current Level})\times S_2(\text{Current Level})] \end{align} } } {\displaystyle {\begin{aligned}{\text{Overguard Multiplier}}=[f_{1}({\text{Current Level}})\times (1-S_{2}({\text{Current Level}})]\\+[f_{2}({\text{Current Level}})\times S_{2}({\text{Current Level}})]\end{aligned}}}
Where the Overguard Multiplier is the value that multiplies an enemy's base overguard to its current overguard.

Damage[]

The formula by which enemy damage scales is as follows:

Damage Multiplier = 1 + 0.015 × ( Current Level Base Level ) 1.55 {\displaystyle \text{Damage Multiplier} = 1 + 0.015\times(\text{Current Level} - \text{Base Level})^{1.55}} {\displaystyle {\text{Damage Multiplier}}=1+0.015\times ({\text{Current Level}}-{\text{Base Level}})^{1.55}}

Affinity[]

The formula by which enemy affinity scales is as follows:

Affinity Multiplier = 1 + 0.1425 × Current Level 0.5 {\displaystyle \text{Affinity Multiplier} = 1 + 0.1425\times\text{Current Level}^{0.5}} {\displaystyle {\text{Affinity Multiplier}}=1+0.1425\times {\text{Current Level}}^{0.5}}
Eximus Affinity Multiplier = 3 + 0.1425 × Current Level 0.5 {\displaystyle \text{Eximus Affinity Multiplier} = 3 + 0.1425\times\text{Current Level}^{0.5}} {\displaystyle {\text{Eximus Affinity Multiplier}}=3+0.1425\times {\text{Current Level}}^{0.5}}

Note that this is a special case: for the affinity scaling, base level is not subtracted from the current level. The base affinity multiplied by the Affinity Multiplier value is also rounded down to a whole number, e.g. 62.7 affinity will be rounded down to 62.

Scaling of Derived Stats[]

From these fundamental stats, more meaningful stats can be derived.

Effective Hitpoints[]

Effective Hit-points is a stat that indicates how much gross damage must be dealt to a target until the net damage thereby inflicted depletes its entire health pool. Effective Hit-points is not a fixed stat for any given enemy, it is heavily dependent on the damage type used against the target, as well as the various buffs and debuffs in effect for both the attacker and the enemy in question. For the following considerations, however, these influences are disregarded, as they do not alter the course of the graphs except for clinching or stretching them as a whole, which manifests as a scaling of the Y-axis.

For Enemies with Health only[]

For targets without shields and armor, the standardized effective hit-point scaling is synonymous with standardized health scaling, the health graph and formula apply.

For Enemies with Health and Shields[]

The standardized effective hit-points of shielded enemies are simply the sum of their shields and health, except for the case when the DmgToxinSmall64 Toxin damage portion of the gross damage depletes the target's health faster than the rest of the gross damage depletes its shield. Exact effective hit-point calculations considering damage types also become significantly more complex if DmgToxinSmall64 Toxin damage is involved, but this is disregarded here. The level scaling of standardized effective hit-points of shielded enemies is influenced by the ratio of base shields to base health:

EHP Multiplier = Health Multiplier + Shield Multiplier × Base Shields Base Health {\displaystyle \text{EHP Multiplier} = \text{Health Multiplier} + \text{Shield Multiplier}\times\frac{\text{Base Shields}}{\text{Base Health}}} {\displaystyle {\text{EHP Multiplier}}={\text{Health Multiplier}}+{\text{Shield Multiplier}}\times {\frac {\text{Base Shields}}{\text{Base Health}}}}

In the cases where you are trying to one-shot shielded enemies without DmgToxinSmall64 Toxin damage, their effective hit-points will actually be higher due to their shield gate mechanic. Only 5% of total damage dealt will only damage the enemy's health when their shield gate is active. However, attacking enemy weakpoints ignores the shield gate.

For Enemies with Health and Armor[]

The standardized effective hit-points of armored enemies are simply the health divided by the compliment of the damage reduction granted from armor. Because armor adds damage reduction to incoming damage on health the level scaling of standardized effective hit-points of armored enemies is influenced by the base armor itself:

EHP Multiplier = Health Multiplier × ( 1 + Base Armor × Armor Multiplier 300 ) {\displaystyle \text{EHP Multiplier} = \text{Health Multiplier}\times\left( 1 + \frac{\text{Base Armor}\times\text{Armor Multiplier}}{300} \right)} {\displaystyle {\text{EHP Multiplier}}={\text{Health Multiplier}}\times \left(1+{\frac {{\text{Base Armor}}\times {\text{Armor Multiplier}}}{300}}\right)}

For Enemies with Health, Shields, and Armor[]

The standardized effective hit-points of enemies that are both armored and shielded are more complex than the simple EHP cases from the previous sections above. The level scaling of standardized effective hit-points of these enemies is influenced by the ratio of base shields to base health and base armor, making the formula at least 3 variable:

EHP Multiplier = Health Multiplier × ( 1 + Base Armor × Armor Multiplier 300 ) + Shield Multiplier × Base Shields Base Health {\displaystyle \text{EHP Multiplier} = \text{Health Multiplier}\times\left( 1 + \frac{\text{Base Armor}\times\text{Armor Multiplier}}{300} \right) + \text{Shield Multiplier}\times\frac{\text{Base Shields}}{\text{Base Health}}} {\displaystyle {\text{EHP Multiplier}}={\text{Health Multiplier}}\times \left(1+{\frac {{\text{Base Armor}}\times {\text{Armor Multiplier}}}{300}}\right)+{\text{Shield Multiplier}}\times {\frac {\text{Base Shields}}{\text{Base Health}}}}

Shielding Ratio[]

The shielding ratio of shielded, unarmored enemies is the ratio of their shield to their health. Since health and shield scale at different rates, this ratio changes with level. Pre-Update 27.2 (2020-03-05) this ratio used to converge towards a 1:2 ratio, where the higher the level the enemies, the closer they were to having twice as much health as shields, regardless of base stats. Currently, the ratio follows this original trend up until level 70, where it suddenly dips below 1:2 then diverges off towards infinity. This is because unlike before when health and shield scaling had same exponents (2), the current shield scaling has an exponent 50% larger than health scaling (0.75 vs 0.5) once past level 80, so it will grow at a faster rate despite having a smaller coefficient. This means the shield ratio will also grow larger over levels rather than converging.

The shielding ratio is relevant for evaluating and selecting damage types against shielded enemies, i.e. weighing benefits against shield types against benefits against health types. Eventually shielded enemies at high enough levels will have more shields than health, so assuming a lack of DmgToxinSmall64 Toxin or DmgTrueSmall64 True damage, effectiveness against shields may take more precedence in player builds than health effectiveness.

The shielding ratio of shielded, armored enemies is the ratio of their shield to their armored EHP. Like before, since health and shield scale at different rates, this ratio changes with level, though more complexly since armor scaling will also make an impact. This ratio converges towards a 0:1 ratio, where, as long as the enemy has a base armor of at least one, the higher the level the enemies the closer they are to having a negligible amount of shields relative to their EHP due to armor. Though as seen above, if no armor is present then the ratio will diverge towards infinity.

Affinity Density[]

The affinity density of an enemy is its affinity per effective hitpoints and a measure of its profitability for affinity farming.

It is important to note the actual affinity farming profitability is significantly offset off the optimal area as implied by the affinity density function due to the two important practical influences of overkill and retargeting time, which both contribute to shifting the actual optimum from these implications towards higher levels.

Reflective Kill Rate[]

Reflective kill rate of an enemy is the ratio of its damage output and effective hit-points. This is inversely proportional to the amount of time or attacks an enemy would need to kill another of its kind. It's a measurement for the effectiveness of damage reflecting effects and abilities, such as the DmgRadiationSmall64 Radiation damage proc, the Mod TT 20px Reflection mod, and abilities such as Link130xWhite Link, ShadowsOfTheDead130xWhite Shadows of the Dead, Absorb130xWhite Absorb, Chaos130xWhite Chaos or MindControl130xWhite Mind Control.

Level Scaling During Endless Gameplay[]

During endless missions such as Survival and Defense, enemy spawn level will increase the more reward rotations are completed, following an inconstant increment: it seems to be overall exponential until enemy level 5000, reached after four hours in Survival, later it becomes linear. Typically at around 8+ hours of in-mission time, players will reach the max enemy spawn level, equal to 9999.

In Disruption missions, to calculate the approximate spawn level at a particular conduit number[2]:

Level Increase From Previous Round = L ( x ) = 2.59 e 0.139 ( Round Number ) {\displaystyle { \text{Level Increase From Previous Round} = L(x) = 2.59e^{0.139(\text{Round Number})} } } {\displaystyle {{\text{Level Increase From Previous Round}}=L(x)=2.59e^{0.139({\text{Round Number}})}}}

Spawn Level = Starting Spawn Level + x = 1 Round Number L ( x ) {\displaystyle { \text{Spawn Level} = \text{Starting Spawn Level} + \sum_{x=1}^{\text{Round Number}} L(x) } } {\displaystyle {{\text{Spawn Level}}={\text{Starting Spawn Level}}+\sum _{x=1}^{\text{Round Number}}L(x)}}

Effects That Indirectly Scale Off Enemy Level[]

See Category:High Scalability.

External Links[]

Interactive calculator for most value multipliers[3]

References[]

Patch History[]

Update 36.0 (2024-06-18)

Armor Adjustments

Important Note: We have not changed player Armor. This only applies to enemy Armor!

Enemy Armor scaling in its previous current iteration meant that Armor Stripping was almost an all-or-nothing game, especially at higher levels. This resulted in players focusing on Armor Stripping as a way to tackle Grineer at higher difficulty content. Our goal is to reduce some of the extreme damage reduction offered by Armor at high levels, and make partial Armor Stripping more feasible.

To do so, we are making the following changes:

Additionally, our goal was to make partial Armor Stripping a more valuable tool. By capping enemy Armor and adjusting how Armor is calculated, a partial Armor Strip will allow players to engage with high-level Grineer more easily - meaning max Corrosion stacks against an Armored enemy (reducing the Armor by 80%) will feel more impactful due to the new distribution of Damage Resistance from Armor values).

Full Armor Strip is still valuable, but we wanted to even the playing field so players didn’t feel forced to build around it.

Shield Adjustments

Important note: We have not changed player Shields. This only applies to enemy Shields!

The Grineer are tankier by design, but the Corpus try to make the difference through their Shields. However, Corpus Effective Hit Points (EHP) are significantly lower, making them often trivial to deal with by comparison. Our goal is to reduce the discrepancy between Grineer and Corpus time-to-kill (TTK) by making Corpus Shields a bit more challenging and interesting to fight.

Changes to Enemy Shields:

Effective Hit Points (EHP) Adjustments

Enemy stat scalings, such as Health and Shields, now grow faster as enemy level increases, in compensation of the loss in Enemy Armor and to make Shields more engaging to deal with.

Changes:

Update 27.2 (2020-03-05)

Armor and Damage Changes (Enemy):

This section will go over before and after scenarios with our enemy Armor, Health, and Shield changes. Reading this section should give you a conceptual and on-paper understanding of what we’re changing and why, but practical experiences will tell the full story here. You may need to refresh some aspects of your Builds to truly optimize your power against your enemies.

Before: Armor, Shields and Health on an Exponential Curve
After: Armor Shields and Health on an S curve

Damage Changes:

Enemy Damage output should still be close to what is currently on the Live version of the game, but we have made a few changes that will affect how players take Damage in-game.

Infested Damage:

We did not want to overlook the Infested in our review. Infested are close-range enemies that telegraph most attacks - and now if one of those attacks hits you, it simply does more damage. Stay agile, stay moving, and the mission is as good as won!

Why: Having Infested simply deal more Damage encourages you to use mobility in ways that is not the norm for their ranged counterparts. Rewarding mobility is a key part of Warframe.

AI Aimbots

Up until now in Warframe, the higher the enemy level, the better their accuracy. High-level enemies would be pinned at the best Accuracy they are capable of - not quite 100%, but getting pretty close! Things like your movement and Mods would reduce accuracy, but the potential for bad ‘Aimbot’ moments was too high. We have spread this progression across a greater range of AI now We are decoupling enemy accuracy from level to reduce the overall ‘Aimbot’ like behaviours you face at higher levels.

Why: This change allows us more accurate balancing of foes at higher levels. This change alone would be noticed by simply sometimes ‘getting hit less’, but in conjunction with the numerous other changes we are making to enemies, it is part of a holistic Refresh to the underlying mechanics behind Warframe’s enemies.

Hotfix 25.0.7 (2019-05-30)

Update 14.0 (2014-07-18)

Update 11.5 (2013-12-19)

Update 11.0 (2013-11-20) Source: https://forums.warframe.com/topic/132366-information-on-damage-20/

Enemy Levels

Enemy levels now fall in a more compressed scale. Level 1 enemies are still the easiest, but the difficulty of a Level 40 enemy in Damage 2.0 will be comparable to a Level 100 enemy in Damage 1.0. Infinite mission types will still feature ever increasing enemy levels. Enemies will be wielding weapons that can inflict different types of damage and Procs on the Tenno, meaning the difficulty will come from a combination of their loadouts and their level.

Hotfix 7.7.1 (2013-04-04)