Difference between revisions of "Damage (LWR)"

From UFOpaedia
Jump to navigation Jump to search
Line 97: Line 97:
  
 
== An Example ==
 
== An Example ==
 +
 +
A soldier with a 3 damage assault carbine and ranger (+1 damage) fires at a drone who has 1 flat DR and 30% DR. 
 +
 +
You'd expect it to do 4 damage (range of 3-5), minus 1 flat DR down to 3 damage, minus 30% DR down to 2 damage.
 +
 +
The more detailed calculations are below.
 +
  
 
A soldier with an '''Assault Carbine''' and the '''Ranger''' perk fires at a '''Drone'''
 
A soldier with an '''Assault Carbine''' and the '''Ranger''' perk fires at a '''Drone'''

Revision as of 01:29, 27 July 2020

Back To Main Page

Terms

Weapon Damage: This is each weapon damage stat configurable in DefaultGameCore.ini file.

Barrel Modifiers: These are effects that modifies damage as it leaves the barrel of the weapon.

Crit Dmg (or Critical Damage): This is how much the Weapon Damage, after being affected by Barrel Modifiers, is increased during a critical hit. The base value is 1.5, and a non-crit is 1.0.

Barrel Damage: This is the Weapon Damage modified by Barrel Modifiers.

Travel Damage: This is the Barrel Damage modified by Crit Dmg and then randomized.

Target Modifiers: These are effects that modify the damage when it hits the target.

Damage Dealt: This is the damage that a target receives from a damage dealer. It is Barrel Damage modified by Target Modifiers.

DR (or Damage Resistance): This is how much of the damage received is resisted. It involves Flat Damage Resistance, Percent Damage Resistance, and Penetration.

Damage Taken: This is how much damage the unit actually takes. It is the Damage Dealt minus the Damage Resistance.

Damage Calculation


The complete damage formula is:

Damage Taken = (([(((Weapon Damage + Barrel Modifiers) * Crit Dmg) * Randomization ) + Target Modifiers] - Flat DR) * (1 - Percent DR) + Penetration)

Barrel Damage

Damage from the barrel is: Weapon Damage + Barrel Modifiers (e.g. ranger, alloy-jacketed rounds, holo, etc.). It is truncated after calculation.

Barrel Damage = ((Weapon Damage + Barrel Modifiers)

Travel Damage

After it leaves the barrel and is travelling towards the target, Crit Dmg is applied (anywhere from 1.0x to 2.0x damage) and the damage is randomized (see below). It is truncated after each calculation.

Travel Damage = (Barrel Damage * Crit Dmg) <-- Randomization

Damage Dealt

Once it reaches the targets, Target Modifiers are applied (In this order: Shredder-> VPT -> CST -> Fragmentation -> Distortion). It is truncated after each calculation.

Damage Dealt = Travel Damage + Target Modifiers

Damage Taken

Then Damage Resistance (DR) is calculated.

Flat DR is applied first, then Percent DR, then Penetration. It is truncated only after all DR has been removed from the Damage Dealt.

Damage Taken = (Damage Dealt - Flat DR) * (1 - Percent DR) + Penetration

Mins and Maxes

The Damage Taken cannot be reduced below 1 by Damage Resistance (DR).

The Damage Taken can never go higher than. the Damage Dealt. For example, someone with a high amount of penetration could calculate final Damage Taken numbers higher than Damage Dealt, but this would be capped at the initial Damage Dealt.

Truncation

All damage is stored in an integer form, thus it is always being truncated during each step. This means 5.6 becomes 5, 9.1 becomes 9, and 9.9 becomes 9.

The exception to this is that Damage Resistance is not truncated and is removed from damage after both Flat DR and Percent DR is calculated.

So Damage Dealt is truncated only after all DR is removed.

Having DR not truncated means that you can have non-integer forms of DR be effective.

Example: a 10 damage shot against a unit with 0.1 Flat DR will have a Damage Taken of 9. Having both Flat DR and Percent DR calculated as total DR before truncation means that minor amounts of both DR will not end up reducing DR by 2. Example: a 10 damage shot against a unit with 0.1 Flat DR and 1 Percent DR will have a Damage Taken of 9 (it would be 8 if the damage was truncated individually between Flat DR and Percent DR).

Damage Randomization

For all Travel Damage 1-9, the damage is randomized from -1 to +1, with an even chance of being -1, 0, or +1.

For all Travel Damage 10-19, the damage is randomized from -2 to +2, with an even chance of being -2, -1, 0, +1, or +2.

The same occurs for Travel Damage of 20-29, 30-39, etc.

The actual formula is:

Randomized Damage = Travel Damage + Rand[1 + (2 * (1 + Travel Damage / 10))] - (1 + Travel Damage / 10);

The randomization works in integer values so all values are constantly truncated (e.g. If x is 6 then x/10 = 0).

Explosive Damage

Each unit damaged by explosive damage has the Travel Damage reduced based on distance from the center. Damage falls as the square of the radius, down to 50% at the edge.

An Example

A soldier with a 3 damage assault carbine and ranger (+1 damage) fires at a drone who has 1 flat DR and 30% DR.

You'd expect it to do 4 damage (range of 3-5), minus 1 flat DR down to 3 damage, minus 30% DR down to 2 damage.

The more detailed calculations are below.


A soldier with an Assault Carbine and the Ranger perk fires at a Drone

The Assault Carbine has 4 Weapon Damage, receives +1 damage as a Barrel Modifier from Ranger, and has no innate Penetration.

The Drone has 1 Flat DR and is Hardened (30 Percent DR).

The Drone is not Shredded and does not have Distortion. The soldier does not have VPT or CST, and Fragmentation does not apply to rifles, so there are no Target Modifiers to the damage.

The shot does not 'Crit' so Crit Dmg is 1.0 and the Randomization does not change the value.

Damage Dealt = (([(((Weapon Damage + Barrel Modifiers) * Crit Dmg) <-- Randomization ) + Target Modifiers] - Flat DR) * (1 - Percent DR) + Penetration)

Damage Dealt = ((((((4 + 1) * 1.0) <-- No Randomization Change) + 0 - 1) * (1 - 0.3) + 0) = 2.8 = 2 Damage Taken