Scaling Curves
What it is
A scaling curve reshapes how a weapon’s per-stat value grows as the weapon levels from 1 to 20. Each stat declares its own curve; the curve takes the displayed level, remaps it to an effective level, and that effective level is what the linear base-plus-scaling formula evaluates against. The curve only changes the shape of growth — not the endpoints, which always anchor at level 1 and level 20.
The six curves
Each curve takes a normalized progress value (the fraction of the way from level 1 to level 20) and returns a multiplier in the 0-to-1 range, which is then used to interpolate the effective level. The five curves below all return 0 at level 1 and 1 at level 20; the linear-fast curve is the exception and starts at 0.15.
The multipliers below are the curve outputs at each displayed level — not the final stat value. To get the effective level that the stat formula sees, see the next section.
Linear
The progress fraction passes through unchanged. Growth is even across every level.
Formula: multiplier equals the progress fraction t.
| Displayed level | 1 | 5 | 10 | 15 | 20 |
|---|---|---|---|---|---|
| Multiplier | 0.000 | 0.211 | 0.474 | 0.737 | 1.000 |
Exponential
Growth is slow at low levels and accelerates toward level 20. Most of the stat gain is concentrated in the late game.
Formula: multiplier equals t raised to the 2.5 power.
| Displayed level | 1 | 5 | 10 | 15 | 20 |
|---|---|---|---|---|---|
| Multiplier | 0.000 | 0.020 | 0.154 | 0.466 | 1.000 |
Steep exponential
A more aggressive version of the exponential curve. Almost nothing happens before the midgame, then growth ramps hard into the final levels.
Formula: multiplier equals t raised to the 3rd power.
| Displayed level | 1 | 5 | 10 | 15 | 20 |
|---|---|---|---|---|---|
| Multiplier | 0.000 | 0.009 | 0.106 | 0.400 | 1.000 |
Front-loaded
The opposite shape: most of the gain lands in the first few levels, then the curve flattens. A weapon using this curve is already most of the way to its level-20 value by level 5.
Formula: multiplier equals t raised to the 0.4 power.
| Displayed level | 1 | 5 | 10 | 15 | 20 |
|---|---|---|---|---|---|
| Multiplier | 0.000 | 0.536 | 0.742 | 0.885 | 1.000 |
S-curve
Slow at the start, fast through the middle levels, slow again near level 20. Most of the gain is concentrated around the midgame band.
Formula: multiplier equals 3 times t squared minus 2 times t cubed.
| Displayed level | 1 | 5 | 10 | 15 | 20 |
|---|---|---|---|---|---|
| Multiplier | 0.000 | 0.114 | 0.461 | 0.829 | 1.000 |
Linear fast
Linear in shape, but with a 15% head start at level 1 instead of zero. A weapon using this curve already has meaningful stat output at the first level and grows linearly from there.
Formula: multiplier equals 0.15 plus 0.85 times t.
| Displayed level | 1 | 5 | 10 | 15 | 20 |
|---|---|---|---|---|---|
| Multiplier | 0.150 | 0.329 | 0.553 | 0.776 | 1.000 |
Level-to-effective-level remap
The curve does not multiply the stat directly. Instead, the displayed level is remapped to an effective level, and the per-weapon stat formula evaluates against that effective level. Two steps:
- Convert the displayed level to a normalized progress fraction: progress equals the displayed level minus 1, divided by 19. This puts level 1 at 0 and level 20 at 1.
- Pass the progress fraction through the curve to get a curved fraction. The effective level is 1 plus the curved fraction times 19.
A stat’s value is then computed as base plus the stat’s scaling coefficient times the effective level minus 1. When the curve is linear, the effective level equals the displayed level and the formula reduces to a flat per-level increment.
| Displayed level | Linear | Exponential | Steep exponential | Front-loaded | S-curve | Linear fast |
|---|---|---|---|---|---|---|
| 1 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 3.85 |
| 5 | 5.00 | 1.39 | 1.18 | 11.19 | 3.17 | 7.25 |
| 10 | 10.00 | 3.93 | 3.02 | 15.09 | 9.75 | 11.50 |
| 15 | 15.00 | 9.85 | 8.60 | 17.82 | 16.74 | 15.75 |
| 20 | 20.00 | 20.00 | 20.00 | 20.00 | 20.00 | 20.00 |
Per-weapon application
Each per-weapon stat — damage, fire rate, projectile count, blast radius, beam width, and so on — declares its own scaling curve as part of its definition. Different stats on the same weapon can use different curves: a weapon can have front-loaded fire-rate growth, linear projectile-count growth, and linear damage growth all at once. If a stat does not declare a curve, it falls back to linear.
The curve only shapes the per-weapon contribution from that one stat. It does not affect any other stat on the same weapon, and it does not affect other weapons.
A separate global damage multiplier applies on top of the per-weapon damage stat at damage-resolution time. That multiplier is a property of the displayed weapon level itself and is independent of the per-stat curve chosen by the weapon. See the damage multiplier curve concept page for how the two layers compose.