From the Depths Wiki
Rerxx (talk | contribs)
(Fixed the explosive damage armor modifier, clarified how explosion is calculated on beams, and explained on how explosion are computed face by face.)
(→‎Armour: Fixed outdated references to doubling AP)
Tag: Visual edit
(15 intermediate revisions by 4 users not shown)
Line 3: Line 3:
 
Most damage is subject to armour mechanics. Unless stated otherwise, damage is multiplied by
 
Most damage is subject to armour mechanics. Unless stated otherwise, damage is multiplied by
   
<math>a = \min \left( 0.05 + 0.45 \cdot \frac{\text{AP}}{\text{AC}}, 1 \right)</math>
+
<math>a = \min \left(\frac{\text{AP}}{\text{AC}}, 1 \right)</math>
   
where AP is the shell AP, and AC is the combined armour of the blocks being hit. For a single block, the AC corresponds to its armour. Thus, for a single block, full damage is reached when AP is 2.11 times the armour of the block.
+
where AP is the shell AP, and AC is the combined armour of the blocks being hit. For a single block, the AC corresponds to its armour. Thus, for a single block, full damage is reached when APis equal to the armour of the block.
   
=== Layered armour ===
+
=== Layered Armour ===
  +
{{Main|Armour Layering}}
   
Against explosive or kinetic damage, "structural" blocks (namely wood, stone, metal, and alloy) behind a block being damaged will contribute part of its armour to the AC of the block being hit. The percentage contributed is as follows:
+
Against explosive or kinetic damage, "structural" blocks (namely [[wood]], [[stone]], [[metal]], [[Heavy Armour|heavy armour]], and [[light-weight Alloy|alloy]]) behind a block being damaged will contribute 20% of its armour to the AC of the block being hit.
   
 
== Kinetic Damage ==
{| class = "wikitable"
 
! Additional layer !! Contribution
 
|-
 
| 1 || 100%
 
|-
 
| 2 || 85%
 
|-
 
| 3 || 70%
 
|-
 
| 4 || 55%
 
|-
 
| 5 || 40%
 
|-
 
| 6 || 25%
 
|-
 
| 7 || 10% (vs. kinetic only)
 
|-
 
| 8 || 10% (vs. kinetic only)
 
|}
 
 
For example, for 5 layers of Metal (armour class 15), the outside layer would have 61.5 Armour class because the 4 layers behind it would add an additional 46.5 armour class (15 + 12.75 + 10.5 + 8.25) to the original 15. This is only the armour of the '''outside layer''', this effect applies to all layers of armour, meaning that the outside layer has 61.5, the 2nd layer has 53.25, the 3rd layer has 42.75, etc. [https://docs.google.com/spreadsheets/d/1cTyT4O75FMob8sptz7Nejl4ljViBOWEU3zu-fWHIGI4/edit#gid=0 Here is a calculator] made by [http://www.fromthedepthsgame.com/forum/showthread.php?tid=15910 Zuthal] in google sheets to make things easier, as well as a slightly [https://docs.google.com/spreadsheets/d/1os_knk1TcUaQOiMpiSLm7b0qf99D0iAPptRyJp2xZJM/edit?usp=sharing modified version] (not updated to current values) that may be easier to use. It is based on kinetic damage only, and does not factor in angle. However, it gives a good representation of armour class of each layer of armour, as well as the required damage to get through each layer.
 
 
== Kinetic damage ==
 
   
Kinetic damage is dealt by fragmentation warheads and all cannons. The amount of damage dealt depends on the impact angle.
+
Kinetic damage is dealt by fragmentation warheads, [[CRAM Cannon|CRAM cannons]], and [[Advanced Cannon|advanced cannons]]. The amount of damage dealt depends on the impact angle.
   
 
The kinetic damage is computed by multiplying the total kinetic damage of the shell by the standard multiplier <math>a</math> above. If the damage is sufficient to destroy the block hit, the damage used to destroy the block (i.e. net damage divided by <math>a</math>) is subtracted from the projectile's damage potential and the projectile continues on its path.
 
The kinetic damage is computed by multiplying the total kinetic damage of the shell by the standard multiplier <math>a</math> above. If the damage is sufficient to destroy the block hit, the damage used to destroy the block (i.e. net damage divided by <math>a</math>) is subtracted from the projectile's damage potential and the projectile continues on its path.
Line 41: Line 20:
 
When striking from outside (i.e. not just having destroyed the previous block in its path), kinetic damage is reduced to a factor <math>\cos \theta</math>. If the projectile fails to destroy the initial block, it has a chance of ricocheting of
 
When striking from outside (i.e. not just having destroyed the previous block in its path), kinetic damage is reduced to a factor <math>\cos \theta</math>. If the projectile fails to destroy the initial block, it has a chance of ricocheting of
   
<math>\left( 1 - \cos \theta \right)^{2 \text{AP} / \text{AC}}</math>
+
<math>\left( 1 - \cos \theta \right)^{\text{AP} / \text{AC}}</math>
   
 
in which case the remaining damage potential is reduced by the net damage dealt divided by <math>a</math>. If the projectile does not ricochet, the remaining damage potential is reduced by the net damage dealt divided by <math>a \cos \theta</math>.
 
in which case the remaining damage potential is reduced by the net damage dealt divided by <math>a</math>. If the projectile does not ricochet, the remaining damage potential is reduced by the net damage dealt divided by <math>a \cos \theta</math>.
   
  +
For the various slopes:
== Thump damage ==
 
 
{| class="wikitable" style="text-align: right;
  +
! Slope !! Angle !! Damage multiplier for horizontal hit !! Damage multiplier for hit from 45° up !! Damage multiplier for hit 90° up
 
|-
  +
|| 1m || 45.00°|| 0.707 || 1.000 || 0.707
 
|-
  +
|| 2m || 63.43°|| 0.447 || 0.949 || 0.894
 
|-
  +
|| 3m || 71.57°|| 0.316 || 0.894 || 0.949
 
|-
  +
|| 4m || 75.96°|| 0.243 || 0.858 || 0.970
 
|-
 
|}
  +
 
== Thump Damage ==
  +
  +
Unlike kinetic damage, thump damage spreads the remaining damage to adjacent blocks whenever destroying a block. This prevents overkill (piercing an entire enemy craft, and still having damage left). Thump damage ignores armour-layering.
   
 
Thump damage is dealt by:
 
Thump damage is dealt by:
 
* Hollow point and squash head [[Advanced Cannon|shells]] (AP 10)
 
 
* Impact [[Particle Cannon|particle cannon]]s (AP 15)
* Hollow point and squash head shells (AP 6)
 
  +
* All [[missile]]s, increased using bodies, thumper heads, and using empty space for reinforcement (AP 20)
* Impact particle cannons (AP 15)
 
* Thumper missile warheads (AP 6)
 
 
* Collisions (AP 1)
 
* Collisions (AP 1)
* Rams (AP 15)
+
* [[Ram]]s (AP 15)
   
== Laser damage ==
+
== Laser Damage ==
   
Laser damage is dealt by [[lasers]].
+
Laser damage is dealt by [[laser]]s.
   
Damage is reduced by smoke and water.
+
Damage is reduced by range (especially in water), AP is reduced by smoke and [[Shield Projector|laser shields]].
   
== Explosive damage ==
+
== Explosive Damage ==
   
Explosive damage is dealt by cannons or missiles with explosive warheads and exploding components.
+
Explosive damage is dealt by [[CRAM]]s with HE-pellets, [[Advanced Cannon]]s or [[Missile]]s with HE-, or flak-warheads, by explosive [[Particle Cannon|PAC]]s and by exploding blocks.
   
Explosions cannot affect anything more than 10 metres from their origin, even if their rated radius is larger.
+
Explosions cannot affect anything more than 30 metres from their origin, even if their rated radius is larger. However, if a vehicle is outside the 30m radius, but still inside the listed radius, the explosion will "snap" to the vehicle, damaging blocks within 30m from the closest point. This matters little for HE, but is quite noticeable on flak-shells.
   
  +
The exact calculations for explosions are quite complex. If an explosion propagates through air, it will lose power. If it lacks power to deal meaningful damage to a block, it may do no damage, getting part of its power refunded. In effect, this means that explosions deal more damage in closed rooms (strengthening APHE), and will seek out weak spots in armour (making exposed vitals quite vulnerable).
Explosive damage is applied block-by-block and face-by-face. For each block/face affected, the explosion does damage equal to its current damage value times the following modifiers:
 
 
* A range modifier, which is 1 at the center of the explosion and decreases linearly to 0.5 at the rated radius of the explosion.
 
* An armour modifier, which is <math>\frac{1}{\sqrt{\text{AC}}}</math>. This replaces the standard armour modifier.
 
 
The damage value of the explosion is then reduced by 10% of the damage dealt times <math>\sqrt{\text{AC}}</math> and the computation moves on to the next block/face.
 
Thus, an explosion can do total damage of up to about <math>\frac{10}{\sqrt{\text{AC}}}</math> times the rated damage.
 
 
A 4m beam counts as 4 blocks<ref name="draba_post" />, so an explosion with could travel through it 4 times.
 
 
Since explosive damage is calculated face-by-face, a single block can be computed twice if 2 of it's faces are visible (e.g. the explosion happened at the edge of a block), or 3 times if the explosion happened at the corner of a block. Beams therefore can be computed 9 times if hit at an edge (4 + 4 + 1)<ref name="draba_post">[http://www.fromthedepthsgame.com/forum/showthread.php?tid=29744#post_343383 Draba forum post]</ref>.
 
   
 
=== Propagation ===
 
=== Propagation ===
   
  +
Explosions take subobjects (turrets, spinners, pistons) and the main construct (hull) into account. Blocks will block explosions as follows, regardless of whether they're placed on the hull or a subobject:
Explosions spread from the origin grid cell via the six cardinal directions. The explosion will not travel to a cell if the angle between these two vectors is 90 degrees or greater:
 
 
* The vector from the cell to the origin cell of the explosion.
 
* The vector from the cell to the previous cell.
 
   
  +
[[File:ExplosionPropagation.jpg|400px]]
Another way of putting it is that the distance to the origin cell of the explosion is only allowed to increase.
 
   
== EMP damage ==
+
== EMP Damage ==
   
 
EMP damage is dealt by advanced cannons and missiles with EMP Warheads.
 
EMP damage is dealt by advanced cannons and missiles with EMP Warheads.

Revision as of 21:38, 22 November 2020

Armour

Most damage is subject to armour mechanics. Unless stated otherwise, damage is multiplied by

where AP is the shell AP, and AC is the combined armour of the blocks being hit. For a single block, the AC corresponds to its armour. Thus, for a single block, full damage is reached when APis equal to the armour of the block.

Layered Armour

Main article: Armour Layering


Against explosive or kinetic damage, "structural" blocks (namely wood, stone, metal, heavy armour, and alloy) behind a block being damaged will contribute 20% of its armour to the AC of the block being hit.

Kinetic Damage

Kinetic damage is dealt by fragmentation warheads, CRAM cannons, and advanced cannons. The amount of damage dealt depends on the impact angle.

The kinetic damage is computed by multiplying the total kinetic damage of the shell by the standard multiplier above. If the damage is sufficient to destroy the block hit, the damage used to destroy the block (i.e. net damage divided by ) is subtracted from the projectile's damage potential and the projectile continues on its path.

When striking from outside (i.e. not just having destroyed the previous block in its path), kinetic damage is reduced to a factor . If the projectile fails to destroy the initial block, it has a chance of ricocheting of

in which case the remaining damage potential is reduced by the net damage dealt divided by . If the projectile does not ricochet, the remaining damage potential is reduced by the net damage dealt divided by .

For the various slopes:

Slope Angle Damage multiplier for horizontal hit Damage multiplier for hit from 45° up Damage multiplier for hit 90° up
1m 45.00° 0.707 1.000 0.707
2m 63.43° 0.447 0.949 0.894
3m 71.57° 0.316 0.894 0.949
4m 75.96° 0.243 0.858 0.970

Thump Damage

Unlike kinetic damage, thump damage spreads the remaining damage to adjacent blocks whenever destroying a block. This prevents overkill (piercing an entire enemy craft, and still having damage left). Thump damage ignores armour-layering.

Thump damage is dealt by:

  • Hollow point and squash head shells (AP 10)
  • Impact particle cannons (AP 15)
  • All missiles, increased using bodies, thumper heads, and using empty space for reinforcement (AP 20)
  • Collisions (AP 1)
  • Rams (AP 15)

Laser Damage

Laser damage is dealt by lasers.

Damage is reduced by range (especially in water), AP is reduced by smoke and laser shields.

Explosive Damage

Explosive damage is dealt by CRAMs with HE-pellets, Advanced Cannons or Missiles with HE-, or flak-warheads, by explosive PACs and by exploding blocks.

Explosions cannot affect anything more than 30 metres from their origin, even if their rated radius is larger. However, if a vehicle is outside the 30m radius, but still inside the listed radius, the explosion will "snap" to the vehicle, damaging blocks within 30m from the closest point. This matters little for HE, but is quite noticeable on flak-shells.

The exact calculations for explosions are quite complex. If an explosion propagates through air, it will lose power. If it lacks power to deal meaningful damage to a block, it may do no damage, getting part of its power refunded. In effect, this means that explosions deal more damage in closed rooms (strengthening APHE), and will seek out weak spots in armour (making exposed vitals quite vulnerable).

Propagation

Explosions take subobjects (turrets, spinners, pistons) and the main construct (hull) into account. Blocks will block explosions as follows, regardless of whether they're placed on the hull or a subobject:

ExplosionPropagation

EMP Damage

EMP damage is dealt by advanced cannons and missiles with EMP Warheads.

EMP damage is not subject to reduction from armour.

When a construct is hit by EMP damage, a charge is created with damage potential equal to the rated damage. The charge propagates from block to block. Upon visiting a block:

  • The EMP charge deals damage equal to the EMP susceptibility of the block times the damage potential, but not more than is needed to destroy the block. The dealt damage is subtracted from the damage potential.
  • The protective drainage of the block is subtracted from the damage potential.

The pathfinding algorithm operates similarly to Dijikstra's algorithm, but instead of choosing the node (block) with the shortest total path at each iteration, it chooses the node which maximizes the amount of total damage dealt minus the amount of total damage lost to protective drainage on the path to that node. The search terminates after 1000 nodes have been visited, the charge used (damage dealt + protective drainage) reaches 1.2 times the original damage potential, or no more nodes are reachable. At this point the visited node with the highest damage dealt on the path to that node is chosen. Surge Protectors count as taking full damage for purposes of the propagation decision.

References