Armor and Damage
Armor and Damage
The time has come to tackle damage calculations in ARK, so here we go. Let's start with some trivia.
Written by Sench - Original Post
Each weapon, structure and dinosaur has a certain "base damage" that it deals. This can be found under different names and locations for various objects. Dino, melee weapon and firearm damage is defined right in the weapon/character BP (not PrimalItem or StatusComponent), projectile weapon damage is defined in the projectile BP (e.g. arrows), structure damage is defined in the structure (e.g. all traps and C4).
The actual damage is fixed and equal to "base damage" for structures (including traps and C4), but not for the rest. For dinos, it depends on their "melee damage" stat. For weapons, it depends on their "weapon damage" stat, and the user's "melee damage" stat if the weapon is melee. These are multiplicative. A melee weapon with 40 base damage and 150% weapon damage used by a player with 200% melee damage would do 40*1,5*2 = 120 damage. A dino with 80 base damage and 120% melee damage would do 80*1,2 = 96 damage. Let's call this the Raw Damage (RD).
Damage Type Adjusters
Each structure and dino also has "damage type adjusters", where damage can be multiplied by type. A Damage Multiplier (DM) of 1 will not alter damage taken, 2 will double it, 0.5 will halve it. Undefined DMs are considered equal to 1. There are also options to ignore DMs from tamed dinos (ignored if the attacker is a tamed dino) and only apply DMs to tamed dinos (ignored if the damage is taken by players, structures or wild dinos). Damage type adjusters can be found in the Character_BP and DinoSettings for dinos (all of them apply) and the actual structure BP and StructureSettings for structures. The player character can also have adjusters, to be defined in the PlayerPawn.
Each source of damage has a damage type assigned to it. Damage types have a lot of settings, including but not limited to: increasing/decreasing stats gradually/instantly based off damage or not, applying a buff etc. What we're going to look at are settings within DamageType BPs that affect the amount of damage dealt:
- Point Damage Armor Effectiveness (PE)
- General Damage Armor Effectiveness (GE)
- Radial Partially Obstructed Damage Percent
- Allow Per Bone Damage Adjustment
And also within the PrimalGameData BP:
- Global Specific Armor Rating Multiplier (SR)
- Global General Armor Rating Multiplier (GR)
Bone Damage Adjusters, controlling damage dealt by hitting specific body parts, found within the PlayerPawn and Dino_Character_BPs. Only matters for DamageTypes that allow this. Unspecified areas are counted as 1. Armor, provided by armor pieces.
Scales of Damage
Now here is an important piece of trivia. The game has two "scales" of damage: "general damage" and "point damage". General damage is applied by explosives, spike walls and likely larger dino attacks. Point damage is applied by projectile, firearm and most (if not all) melee player attacks and likely smaller dino attacks. The exact separation is hard to pinpoint as it does not appear to be a visible variable in any BP. The difference is that "general damage" uses the "General" variables and the total armor, whereas "point damage" uses the "Point" and "Specific" variables and only the armor covering the affected body part(s).
The "general damage" for both players and dinos is calculated as (RD*DM)/(1 + (Armor*GE*GR/100)), where "Armor" is their total armor. The "point damage" for the players is (RD*DM)/(1 + (Armor*PE*SR/100)), where "Armor" is the armor of the affected body part. For dinos "point damage" is (RD*DM)/(1 + (Armor*PE*GR/100)) and the saddle's armor is counted as covering their whole body.
Let's call the result of the formulas above "pre-damage". Bone Damage Adjusters are then applied to it (if applicable), and the result is the actual damage taken.
All armor pieces have durability which decreases as the player is hit based off the amount of damage absorbed. The following variables affect durability reduction:
- Damage Absorbed (DA) - provided by the damage calculation formula: if a player is hit for 300 damage and absorbs 66.7% of it thanks to armor, then they take 100 "pre-damage" and the damage absorbed is 200.
- Armor Durability Degradation Multiplier (AD) found within "DamageType" BPs.
- Global General Armor Degradation Multiplier (GD) and Global Specific Armor Degradation Multiplier (SD) found in "PrimalGameData" BP.
Durability is reduced by DA*AD*GD by "general damage" and by DA*AD*SD by "point damage". Only armor pieces which were involved in damage reduction lose durability.
- NOTE #1: Altering Radial Partially Obstructed Damage Percent did not have any effect during my tests. It may be redundant at the moment.
- NOTE #2: Dinos use the Global General Armor Rating Multiplier instead of Global Specific Armor Rating Multiplier for "point damage". It is unclear whether this is a bug or intended behavior (since saddles give armor to all body parts).
- NOTE #3: While dino saddles have a durability stat that can vary with quality, it is not actually used (they never break). Again, unclear if bug or not.