# Stats

Destiny 2 includes RPG-Like elements in the form of Armor and Weapon Stats. Each stat serves a unique and quantifiable purpose.

## Contents

## Armor Stats

Armor has 6 stats associated with it. Each armor stat modifies a guardian's intrinsic traits and boosts their cooldown.

Mobility | Movement Speed, Jump Height, Hunter Dodge cooldown | |

Resilience | Shield HP, Titan Barricade cooldown | |

Recovery | Health Regeneration, Warlock Rift cooldown | |

Discipline | Grenade ability cooldown | |

Intellect | Super ability cooldown | |

Strength | Melee ability cooldown |

### Calculation

All armor stats provide benefits in tiers, capping at tier 10. Armor stat Tier can be calculated with the following equation:

### Random Roll Mechanism

All armor drops with pseudorandom rolls on the 6 armor stats. Stat are rolled and distributed with regards to 2 stat groups.

- Mobility, Resilience, Recovery
- Discipline, Intellect, Strength

Each stat group has 2 **sockets** for premade armor stat roll **plugs**.^{[1]}
Plugs are rolled from a collection of plugs for each stat group.

Each plug is worth 11-17 stat points, with the exception of a single plug worth 20 stat points.
This means that most armor rolls have anywhere between 22-34 points per stat group.
If both stat groups have two 17-stat plugs, the armor will have a **base stat total** of 68.
A **base stat total** greater than 68 is only achievable with the singular 20-stat plug.

## Weapon Stats

A weapon's attributes are expressed in stats, not all stats are used on a given weapon. Intrinsic Weapon Perks such as Adaptive Frame and Aggressive Frame will affect the influence of these stats.

### Displayed Attributes

Most weapons have these stats available to them.

Rounds Per Minute | The rate of fire. | |

Impact | Initial damage per round compared to the damage spectrum of the weapon type. Note that other factors will affect the damage dealt. | |

Range | Effective range before rounds start to experience damage falloff, this also affects aim assistance. | |

Stability | A rating of recoil after firing. Higher stability produces lower recoil. | |

Handling | A rating of handling speed for the weapon (ADS, Ready, Stow, etc.). | |

Reload Speed | Rating for weapon reload speed. | |

Magazine | The amount of rounds that can be fired before requiring a reload. Swords have Ammo Capacity instead, which is the total ammo. |

#### Combat Bows

Draw Time | The rating of a bow's draw time. |

#### Fusion Rifles

Charge Time | The charge time to fire a round, this is applicable to weapons such as Combat Bows and Fusion Rifles |

#### Explosives

Grenade Launchers and Rocket Launchers have some stats unique to them related to their explosive rounds.

Blast Radius | Projectile Explosion radius also influences the threshold for damage falloff. | |

Velocity | Projectile speed. |

#### Swords

Swords have **stats** unique to them since they have fundamentally different mechanics from guns.

Swing Speed | The speed at which you can launch attacks. | |

Guard Efficiency | Reduces the amount of energy required to guard an attack. | |

Guard Resistance | Damage reduction while guarding with this weapon against most attacks. | |

Guard Endurance | How long you can maintain your guard with this weapon. | |

Charge Rate | How fast this weapon recharges its energy. |

### Hidden Attributes

Zoom | The magnification factor when aiming down sights. While aiming, the range is multiplied by this factor. | |

Inventory Size | The maximum amount of ammo able to be carried in reserve. | |

Aim Assistance | The strength of the game's assistance in path correcting aimed shots onto the target. | |

Recoil Direction | An expression of the weapon's recoil path. Lower recoil direction tends more horizontal recoil than vertical recoil. |

### Deprecated Attributes

These Attributes no longer appear in game or seem to have no bearing on gameplay anymore.

Attack | The rating of the weapon's damage ceiling. Higher attack allows a weapon to inflict damage to higher-level enemies. | |

Defense | The rate of ammo loss when mitigating an attack while guarding with a weapon. This stat is exclusive to swords. | |

Efficiency | The rate of ammo loss while maintaining a guard with a weapon. This stat is exclusive to swords. |

### Calculation

Bungie provides stats for every weapon in their API.
Every weapon has a group of data labeled **investment stats** and another labeled **stats**.
The **investment stats** are the **hidden layer stats** and the **stats** are the **presentation layer stats**.

The **hidden layer stats** are the weapon's "true stats".
The **hidden layer stats** are then pushed through an **interpolation function** which calculates the **presentation layer stats**.
The **presentation layer stats** are pre-calculated in Bungie's API and are used to manipulate in game mechanics.

#### Interpolation Functions

Every weapon family has a **DestinyStatGroupDefinition** which governs each individual weapon stat's behavior.
**DestinyStatGroupDefinition** objects have data in them which define behavior for each stat on a weapon.

{ // unique hash identifying the particular stat. "statHash": 123456789, //The maximum value allowed for the stat "maximumValue": 100, "displayAsNumeric": false, /* * The interpolation function's data points. This constructs the function's behavior. * Data points take the form of value-weight pairs. * For the below function, an input value of 0 maps to an output of 10. * The same can be said for 70 -> 50 and 100 -> 100 */ "displayInterpolation": [ {"value": 0, "weight": 10}, {"value": 70, "weight": 50}, {"value": 100, "weight": 100} ] }

In the above example, **displayInterpolation** is an **interpolation function**.
This function is responsible for generating stat values in game from the **hidden layer stats**.
**Value** corresponds to the **hidden layer** and **weight** corresponds to the **presentation layer**.
value-weight pairs that do not exist are inferred mathematically using surrounding data points.

#### Linear Interpolation Functions

Many interpolation functions are simple, linear transformations.
Below is the Range interpolation function for **all** Sniper Rifles.

{ "statHash": 1240592695, // Range "maximumValue": 100, "displayAsNumeric": false, "displayInterpolation": [ {"value": 0, "weight": 10}, {"value": 100, "weight": 100} ] }

As presented in the API, **value** corresponds to the **hidden layer** and **weight** corresponds to the **presentation layer**.
The way this function is configured, the **hidden layer stat** value of 0 corresponds to a **presentation layer stat** value of 10.
This means that sniper rifles are technically on a scale of 10-100.
In this particular case, the interpolation function is:

**f(x _{hidden}) = 10 + 0.9x_{hidden}**

This is a common scenario and a common **interpolation function** that occurs for not just range,
but for many other stats for many other weapon families.
This is why a perk like Accurized Rounds gives +9 Range despite it having a value of +10 range.

#### Nonlinear Interpolation Functions

Some **Interpolation Functions** are nonlinear.
When investing into stats that have nonlinear interpolation functions,
a guardian should take note of plateaus and sudden spikes

**Example:**

Sniper Rifles have a very nonlinear approach to their Magazine stat.
The following is the interpolation function for **Magazine** for **all** sniper rifles.

{ "statHash": 3871231066, // Magazine "maximumValue": 100, "displayAsNumeric": true, "displayInterpolation": [ {"value": 0, "weight": 3}, {"value": 20, "weight": 3}, {"value": 30, "weight": 4}, {"value": 60, "weight": 4}, {"value": 70, "weight": 5}, {"value": 90, "weight": 5}, {"value": 100, "weight": 7} ] }

Notably, there are plateaus where heavy investment into the Magazine stat would result in literally 0 benefit, while other areas give a large boost to magazine size.

**Example 1:**

Suppose we have a Long Shadow sniper rifle.
Long Shadow has a base hidden layer magazine stat of 50.
This give it a base magazine size of 4 bullets.
If we apply Appended Mag (+20 Magazine) this will bring it to 70 magazine stat.
This gives it a mag size of 5.
If we instead apply Extended Mag (+30 Magazine) we get to 80 magazine stat which still resolves to a mag size of 5.
Also of note, with **Appended Mag** and Backup Mag (+30 Magazine),
this Long Shadow will have 50 base + 50 invested stats into its magazine for a total of 100.
This would bring it to 7 Bullets in the magazine which makes **Appended Mag** a better pick than **Extended Mag**.

**Example 2:**

Consider IKELOS SR v1.0.2 with Tactical Mag.
In this case, the Ikelos Sniper has a hidden layer Magazine stat value of 90.
With Tactical Mag's +10 Magazine, this brings it to 100 Magazine which is the cap.
This means that Tactical Mag is strictly better than Appended Mag and Extended Mag for this sniper.
Also worthy of note, this example shows how a nonlinear interpolation function can cause huge jumps in value from small buffs.

## References

- ↑
*Breakdown of how stat rolls and stat distribution work on armor 2.0.*, posted by ScarfiPK, 18 Aug 2020,*reddit*, https://www.reddit.com/r/raidsecrets/comments/icbrjl/breakdown_of_how_stat_rolls_and_stat_distribution/. Accessed 23 Apr 2021

Stats | ||||
---|---|---|---|---|

Displayed Attributes | Attack • Impact • Range • Stability • Handling • Reload Speed • Blast Radius • Velocity • Charge Time • Swing Speed • Efficiency • Defense (Sword) • Magazine • Rounds Per Minute • Draw Time • Accuracy | |||

Hidden Attributes | Zoom • Inventory Size • Aim Assistance • Recoil Direction | |||

Armor | Defense (Armor) • Mobility • Resilience • Recovery • Discipline • Intellect • Strength |