Damage

Inflicting Damage
A character's base damage is the main factor all other damage scales off.

A multiplier is built and added together:
 * 1) +10% for each instance of BoostDamage the character has (exclusively obtained by Elites and ghosts spawned by the ).
 * 2) +10% for each.
 * 3) -5% for each stack of the  debuff (inflicted by  flying beetles).
 * 4) If the character has, the value is multiplied by  , where x is the number of Shaped Glass held.

This multiplier is applied to the character's base damage plus their level's damage, resulting in the character's damage.

After this, the following reduction and increases are applied in order:
 * 1) If the character is, multiply their damage by 0.6. This means a 40% reduction.
 * 2) If the  is active, multiply their damage by 2.
 * 3) Otherwise, if the Tonic is not active and the character has at least 1 Tonic Affliction, multiply their damage by , where x is the amount of Tonic Afflictions held.

Critical Strike
All Survivors have a base 1% critical strike chance, and monsters have a 0% base chance. Upon landing a critical strike, the damage dealt is doubled. See Receiving Damage.

Items that increase critical strike chance are  (+10% per stack) ,  (+5% max),   (+5% max) ,   (+5% max) , and   (+10% per stack) . Note that Proc Coefficient does not affect critical strike chances.

Hit Damage
Each hit has damage info. This is scaled (possibly indirectly) from the character's damage. It holds the following properties: the attacker, the damage, if it is a critical strike, the damage type, the proc coefficient, the proc chain, (position and force for knockback-related calculations, the damage color and if the damage was rejected for displaying the damage). Upon hitting a character, the following things are done in order:
 * 1) The character applies the damage to themselves. (see: Receiving Damage)
 * 2) The game checks if on-hit items need to trigger and DoTs need to be applied. (see: Handling Hits)
 * 3) The game checks if the attack needs to explode. (see: Handling Hits)

Attack Speed
Attack speed is a statistic that controls how fast a character can use certain abilities. It also can also control the travel speed of certain moves[citation needed]. Attack speed starts at a base value of 1.0, and there are currently a total of 6 items and 2 equipment that increase attack speed:


 * gives +0.15 per stack.
 * gives +0.3 from the buff.
 * gives +0.12 for each stack of the buff, limited to 3 stacks of the buff (+2 per stack).
 * gives +0.7 from the buff.
 * gives +0.1 per stack.
 * and both give +1 from the / buffs, respectively (these do not stack with each other).
 * multiplies final attack speed by 1.7 while the is active (meaning that it also multiplies all the above bonuses by 1.7 as well).

Damage Falloff
Damage falloff is a statistic that determines whether an attack will hit at full or reduced damage. There are two falloff models: a projectile falloff model and area of effect (AoE) falloff model.


 * Projectile falloff is determined by the distance from a character, with three types:
 * None: Deals 100% damage, regardless of distance.
 * Default: Deals 100% damage within 25m, linearly decreasing to a minimum of 50% at 60m or farther.
 * Buckshot: Deals 100% within 7m, linearly decreasing to a minimum of 25% at 25m or farther.


 * AoE falloff is determined by the distance from an explosion's center, with three types:
 * None: Deals 100% damage, regardless of position inside the explosion.
 * Linear: Deals 100% damage at the explosion's center, linearly decreasing to 0% at the explosion's edge.
 * Sweet spot: Deals 100% from the explosion's center to half of its radius, and deals 25% from half its radius to its edge.

'Base' vs. 'Total' Damage
Base damage and total damage are the two main damage types in Risk of Rain 2.


 * Base damage scales specifically with the character's base damage value. For instance, take at level 1, with a base damage stat of 12, and assume he has inflicted a single stack of thanks to his . The damage from bleeding deals 20% base damage per tick, so it will deal 20% x 12 = 2.4 points of damage per tick. This tick damage is not affected by the attack that inflicts the bleeding; it only will deal more damage as Commando levels up and his base damage increases.
 * Total damage is used for on-hit items that generate bonus attacks. These items scale with the strength of the attack that activates them. For instance, take another level 1 Commando (still with a base damage of 12), and assume he has shot an enemy one time with, inflicting 300% x 12 = 36 damage. If Commando has one and his Phase Round activates it, the missile deals 300% of the Phase Round shot, for 300% x 36 = 108 damage. If this missile in turn activates a , the Sticky Bomb will deal 180% of the missile's damage, dealing 180% x 108 = 194.4 damage.

Since total damage items can activate each other, this may lead to cascading item activations, commonly referred to as a "proc chain." Importantly, total damage items calculate their final damage without accounting for damage bonuses on the triggering hit, in order to prevent those bonuses from being repeatedly applied as the chain grows longer. As a result, there are 2 important quirks to keep in mind with regard to proc chains:


 * The damage bonuses from, , and are calculated on a per-hit basis and do not accumulate along a proc chain. For instance, an attack that deals 100 damage that is boosted by 1 stack of Armor-Piercing Rounds bonus will deal 120 final damage. If this attack activates an AtG Missile Mk. 1, that missile will only deal 300% x 100 = 300 damage; the extra damage from the Armor-Piercing Rounds is not taken into account when calculating its initial damage. However, if that missile strikes a boss, then it will also be boosted and deal 360 final damage.
 * Total damage items only critically strike if the triggering hit was a critical strike, and can never critically strike otherwise. For example, if a non-critical attack deals 100 damage and activates an AtG Missile Mk. 1, the missile will deal 300% x 100 = 300 damage and is sure to not be a critical strike. If we instead assume the original attack is a critical strike, the missile will become a critical strike as well, dealing 2 x 300% x 100 = 600 final damage (note that the critical strike bonus also applies to each attack individually, similar to the above bonuses). The lone exception to this is the, which rolls critical strike chance completely independently of the triggering hit (this may be a bug).

Damage over Time
Damage over time refers to negative status effects that cause the victim to continuously take damage until the status expires. These status effects each deal damage a certain number of times per second, and they each have a set base duration (which may be multiplied by the proc coefficient of the attack that inflicts the debuff).

Additionally, some of these debuffs can stack, dealing proportionally more damage per tick with more stacks. and are unique in that when a new stack is applied to a target, all the existing stacks of that debuff are also refreshed. This means that a stack of these debuffs will always expire all at once, and they can be infinitely stacked as long as the debuff is continually reapplied.

The and  debuffs appear visually identical and even occupy the same stack, but they are not the same debuff; they deal damage independent of each other and even contribute to the  separately. These debuffs also set the victim's natural health regeneration to 0 while applied, preventing the victim from recovering health over time.

Receiving Damage
This procedure is used for players and enemies alike.

The game begins by creating a copy of the incoming damage amount. We'll call this new copy 'amount', whereas we'll call the old damage 'original amount'.


 * 1) If the target has succeeded the roll for, has just spawned in, or is otherwise invincible, set the damage rejected flag and stop applying any further damage.
 * 2) If the attacker has and the target is above 90% of their maximum combined health, multiply amount by.
 * 3) If the attacker has and the target is a boss, special boss, or Horde of Many, multiply amount by.
 * 4) If the attacker has a and is within 13 meters of the target, multiply amount by.
 * 5) If the hit was a critical hit, multiply amount by 2.
 * 6) If the damage doesn't bypass armor (such as damage from a Shrine of Blood), apply the armor reduction/increase to amount. This can't reduce amount to less than 1.
 * 7) If the target is a player and amount is greater than 90% of the character's combined health, reduce the amount to 90% of the target's combined health instead. This is commonly known as One-Shot Protection or OSP for short.
 * 8) If applicable, apply certain slows and roots to the character based on the damage type.
 * 9) If the target has any, take away money equal to the maximum between   and.
 * 10) Reduce the target's barrier by amount, and amount by the barrier actually removed.
 * 11) Reduce the target's shield by amount, and amount by the shield actually removed.
 * 12) Reduce the target's health by amount. If this would reduce their health below 1 and the damage is of the nonlethal type, such as self-damage or fall damage, set their health to 1 instead.
 * 13) Apply knockback.
 * 14) (There's possibly a few steps in between here that this editor has not exactly traced to their entire conclusions.)[Verify]
 * 15) If the target isn't player-controlled and is frozen, set the execution threshold to 0.3.
 * 16) If the target is an Elite and their execution threshold is below the execution threshold set by of the attacker, set the execution threshold to the threshold of the Guillotines.
 * 17) If the target's combined health is below the amount dictated by the execution threshold, set their health to minus 1.
 * 18) If the target is now dead (health less than or equal to 0), tell the game to check for on-death effects.

One-Shot Protection
(See also: Health)

One-shot protection is visible on the HUD as a faint overlay on the health bar, protecting the player from dying to a single instance of damage when above 90% health. "Curse" effects which lower maximum health by 10% or more, such as or the, will remove one-shot protection.

A single hit taken cannot deal more than  damage. This is checked after damage-reducing effects such as armor are applied.

After receiving damage that triggers one-shot protection, the protection will remain for 0.1s, meaning health cannot be reduced below the resulting health after the initial hit.

Version History

 * Anniversary Update


 * Quality of Life
 * Graphics Updates
 * Update damage numbers to be more legible


 * Early Access Content Update 5


 * Gameplay Changes
 * Slightly reworked OSP. The goal is to fix inconsistencies and make it actually protect you from one-shots - while also fixing some abuse cases with curse.
 * The threshold for OSP is now displayed on the healthbar with a faint graphic.
 * Now has a lingering 0.1s duration when activated.
 * 🌧 Now is subtracted via Curse (,, etc), i.e a curse of 10% will remove OSP entirely.
 * 🌧 Update OSP logic so it still triggers if you receive multiple sources of damage in the same frame that go past OSP values, i.e
 * Melee Survivors
 * 🌧 Melee skills will now perform more consistently at high attack speeds.
 * Melee skills will now scale hitpause duration with attack speed - since the pause when hitting enemies were static, melee characters actually scaled poorly with attack speed.
 * Melee skills will now ‘hold’ you in the air better at high attack speeds.


 * Early Access Artifacts Content Update


 * Gameplay Changes
 * 🌧 Update how AOE falloff is calculated to be more accurate
 * Developer Notes: This affects AOE attacks that did less damage at the edges, like Commando’s Grenade and MUL-T’s Scrap Launcher. They should now do full damage with a direct impact - however, this also affects enemies as well!
 * Characters with damage interrupt thresholds like and  now use total damage received instead of incoming damage with a crit modifier when determining whether or not they should be interrupted when hit. This makes these interrupts more likely when using items that modify damage like  and.
 * Bug Fixes
 * 🌧 Fix issue which caused blast attacks to calculate hit distance based on the center of the hit hurtbox instead of the closest point. The overall effect of this is that blast attacks with falloff will do more damage since objects will now be considered closer than they were, especially against monsters with large hurtboxes like the.


 * Early Access Hidden Realms Content Update


 * Gameplay Changes
 * Change ‘One Shot Protection’ calculation to include barrier
 * Our intent in changing OSP in this manner is to make sure that it is a hidden mechanic, not a reliable one to build a strategy around. We know there’s still edge cases that are abusable - but as long as it’s not ALWAYS the best strategy, we don’t mind having some end-game builds that are extremely powerful.
 * If you have 100% Health and 100% Barrier and take a billion damage, previously you would remain at 100% Health and 10% Barrier. You will now be at 10% Health, as intended before the inclusion of barrier in Scorched Acres.
 * Quality of Life
 * 🌧Update right edge of execution threshold bar not lining up with the actual value


 * Early Access 'Skills 2.0' Content Update


 * QOL
 * 🌧︎ Damage numbers can now support up to 998,000,000 damage (truncated as 10K, 100K, 1M, etc)


 * Early Access Scorched Acres Content Update


 * Gameplay Changes
 * ☂ Critical Strikes no longer double/triple/quadruple/etc “dip” through the proc chain
 * On-hit items have accidentally been benefiting multiple times from critical strikes, resulting in each proc doubling in damage for huge multipliers. While neat, this was ultimately unintentional and not sustainable for the game going forward - so we’re ripping the bandaid now and fixing it. On-hit items have been compensated for the removal of power from this fix.
 * QOL
 * Change damage with no team assigned to be Grey
 * Bug Fixes
 * ☂ Fix ‘Enable Damage Numbers’ not saving between playthroughs


 * Early Access Patch (Build ID No.3830295)


 * Bug Fixes
 * Reorganize fall damage code to try to fix issues with the server reporting false fall damage hits


 * Early Access Patch (Build ID No.3743353)


 * Bug Fixes
 * Fixed an issue where enemies executed from freezing didn't call the correct events, leading to no money, on-kill procs, and potentially a stalled Teleporter event.

Trivia

 * If Damage Numbers are enabled in Gameplay Settings, the damage will be displayed after rounding up to the nearest integer, for a maximum of 990,000,000, abbreviated as 990M.