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, except, 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.

Currently, the only item that increases critical strike damage is the  (+100% per stack) . However, receives an increase in critical strike damage based on the amount of stacks of.

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 7 items and 2 equipment that increase attack speed, and 1 item that decreases it:


 * gives +0.15 per stack.
 * gives +0.075 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).
 * multiplies final attack speed by 1/(1 + stacks).

Damage Falloff
Damage falloff is a statistic that determines whether an attack will hit at full or reduced damage. Attacks that have damage falloff discourage shooting from extreme ranges and reward accuracy with area of effect attacks. There are two falloff models: a bullet falloff model and an area of effect (AoE) falloff model.


 * Bullet falloff is used for hitscan bullet attacks, such as, , and . Attacks that launch an actual projectile, such as , do not use this falloff model. If an attack has bullet falloff, its final damage is determined by the distance between the attacker and the target, with three types:
 * None: Deals 100% damage, regardless of distance. For example, is a skill that uses this type.
 * Default: Deals 100% damage within 25m, linearly decreasing to a minimum of 50% at 60m or farther. Most hitscan attacks will use this type.
 * Buckshot: Deals 100% within 7m, linearly decreasing to a minimum of 25% at 25m or farther. For example, is a skill that uses this type.


 * AoE falloff is used for exploding attacks, such as, , and . If an attack has area of effect falloff, its final damage is determined by the distance from the explosion's center to the target, with three types:
 * None: Deals 100% damage, regardless of position inside the explosion. For example, the uses this type.
 * Linear: Deals 100% damage at the explosion's center, linearly decreasing to 0% at the explosion's edge. For example, the Genesis Supernova uses this type.
 * Sweet spot: Deals 100% from the explosion's center to half of its radius, and deals 25% from half its radius to its edge. Most exploding attacks will use this type.

'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.

Multiple different total damage items may activate at once from a single hit, or they can activate each other, leading to cascading item activations (commonly referred to as a "proc chain"). There are several important quirks to keep in mind with regard to proc chains:


 * Total damage items calculate their final damage without accounting for any damage bonuses on the triggering hit, in order to prevent those bonuses from being repeatedly applied as the chain grows longer; instead, the bonuses are calculated on a per-hit basis. The items that are impacted by this are the, , , and . 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).
 * A given total damage item can only activate once per proc chain. For instance, if the player activates an AtG Missile Mk. 1, that missile (and any other total damage items activated by it) will not activate the AtG Missile Mk. 1 again in that same chain. This is sometimes referred to as a "proc mask," preventing proc chains from escalating for extremely long times.
 * Strangely, all missile-related attacks will also never activate missile-related total damage items; for instance, a can never activate an AtG Missile Mk. 1 or a . This may be due to performance issues caused by the

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 that have a lower duration remaining are "refreshed," with their durations becoming equal to the newest stack. This means that these debuffs can be infinitely stacked as long as they are continually reapplied.

is a special case among damage over time debuffs, in that it does not have a definite duration; instead, its duration is proportional to the strength of the inflicting hit. For example, an attack that deals 1000% base damage will inflict Ignite for 10 seconds, but an attack dealing 100% base damage will inflict it for only 1 second. Each tick deals a constant 10% base damage (with 5 ticks per second), and Ignite's duration scales such that it always deals 50% total damage over its entire duration (for instance, a stack of Ignite inflicted by the above 1000% base damage attack would deal an additional 500% base damage over its duration).

Knockback
Knockback is applied to a character upon receiving damage, pushing them away some amount. How much a victim is knocked back depends on 2 factors: the force of the attack, and the victim's mass. The final knockback applied to the victim is the quotient of the attack's force vector and the victim's mass, so an attack with greater force will inflict proportionally more knockback (for instance,  inflicts greater knockback than ), and a victim with greater mass will receive proportionally less knockback (for instance,  only suffers half as much knockback as, since Acrid has 300 mass compared to Loader's 150).

Additionally, if after knockback calculation the y-axis component of the knockback vector is less than 6, and the victim is standing on the ground, the y-axis component becomes 0 instead, so the victim is only pushed horizontally.

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.