Back To Articles
New 2026-05-28 damagemath

How Collision Damage Is Calculated

By AdmiralNelson

Collision Damage

Collision damage is applied when 2 vehicles impact each other.

Ramming Damage Calculation

Relative velocity is projected onto the impact normal and converted to m/s

RelativeVelocity = dot(VelA − VelB, ImpactNormal) / 100

Before anything else, the input velocity gets a soft cap applied. This result is stored as ModifiedVelocity.

if |velocity| ≤ RamAbilityDiminishingVelocity:
      ModifiedVelocity = Velocity
else:
      ModifiedVelocity = RamAbilityDiminishingVelocity
               + (|velocity| − RamAbilityDiminishingVelocity) × DiminishingVelocityProportion

If VehicleA or VehicleB is Maul 
AND using ability 
AND this is the first collision during ability:
      ModifiedVelocity = max(ModifiedVelocity, MinRamAbilityVelocity)

As of writing this article: RamAbilityDiminishingVelocity is 22.5 m/s (81 km/h) MinRamAbilityVelocity is 11.5 m/s (41.4 km/h) DiminishingVelocityProportion is .1

Kinetic energy is computed from combined mass, then scaled to a damage pool

KineticEnergy = 0.5 × (MassA + MassB) × ModifiedVelocity²
DamagePool = KineticEnergy × DamageMultiplier

Once damage pool is calculated, it is only applied if it would deal a minimum amount of damage. If the minimum damage is not satisfied, this collision instance is ignored and no damage is done to either vehicle.

As of writing this article: DamagePool must be greater than 50

Damage is split by opposite mass ratio — heavier attackers deal more, take less

DamageToA = DamagePool × (MassB / CombinedMass)
DamageToB = DamagePool × (MassA / CombinedMass)

Maul Tank Modifiers

Damage is than modified by gameplay code for special cases if players are in the Maul tank.

If both players are Maul AND are using their ability, damage is cut in half.

If only 1 player is using their ability, they take no damage. The other player still takes damage.

If a player has the Ram bonus multiplier from the tech tree, that is applied. It does not matter if the vehicle ability is active.

Talent / Component Reduction Modifiers

Once we determine damage that should be applied a player, we calculate final damage using a players' stat modifiers.

FinalDamage = BaseDamage * (1 -DamageReductionPercent) * (1 + BonusDamagePercent) - FlatDamageReduction

DamageReductionPercent can be applied from talents/components such as AdaptiveHardening. BonusDamagePercent is a debuff. An example is the Drone damage amp keystone. FlatDamageReduction can be applied from talents/components such as MicroPlating.

Crushing Damage

Crushing damage happens when 1 vehicle is on top of another vehicle. Crushing damage is only applied to the bottom vehicle. Crushing damage fires every .6 seconds (as of this article).

Crushing Damage Calculation

Crushing damage is flat mass-based:

CrushingDamage = CrusherMass × CrushingDamagePerKg

As of writing this article: CrushingDamagePerKg is 0.002. So for example, a Sonar crushing any other vehicle would deal (100000.0 * .002) = 200 crushing damage per tick

Talent / Component Reduction Modifiers

Crushing damage applies the same talent / component modifiers as ramming damage. See above section.

Tyr HQ is an independent third-party companion for Tyr: study every tank, pressure-test your builds, and track official Stoke Games updates in one place.

Theory craft your builds, learn the maps, get better at Tyr.

Tyr HQ is an independent third-party site and is open source under the MIT License.