Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 20:14, 7 May 2026 by vgwiki>Fankserver (Layout variant draft)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Layout variant B — wikitables for variables. Compare against A and C.

Damage calculation

Outgoing damage is computed in three stages. Formulas below match the shipped Assembly-CSharp.dll.

1. Attack power per turret

attackPower = ( totalPowerStat / max(0.45, equivalentTurrets) )
              × stackingPenalty × turretEquivalentRating × powerMultiplier
Variable Meaning
totalPowerStat Ship's total CombatPower / MiningPower / SalvagePower (whichever applies), plus drone-bay contributions.
equivalentTurrets Same-class hardpoints, weighted by size. Floored at 0.45.
stackingPenalty Diminishing returns from stacking — see ladder below.
turretEquivalentRating, powerMultiplier Per-turret tuning constants set on each weapon prefab.
Stacking penalty ladder
Equivalent turrets Penalty
1 (≤ 1.9) 1.00
2 (≤ 2.9) 0.85
3 (≤ 3.9) 0.78
4 (≤ 4.9) 0.72
5 (≤ 5.9) 0.68
6+ 0.65

2. Per-shot damage

shotDamage   = (attackPower / 5) × random(0.8, 1.25) / defaultAttacksPerSecond
critAdjusted = shotDamage × (2 + CriticalDamage) ^ critCount
outgoing     = critAdjusted × (1 + typeBoost + Damage)
Variable Meaning
Power → damage Flat 5:1 ratio (DamageData.PowerPerDamage = 5).
Random variance Uniform 0.8×–1.25× per shot.
defaultAttacksPerSecond Base rate from _fireDelay, burstAmount, burstDelay, _maxMagSize, _reloadDelay. Does not include AttackSpeed — so AttackSpeed raises firing rate without lowering per-shot damage, effectively a flat damage multiplier.
critCount Crits cascade. CriticalChance rolls; on success the chance halves and rerolls. Capped by the combatMegaCrit skill-tree points. Each crit multiplies by 2 + CriticalDamage.
typeBoost, Damage Damage-type bonus stat (e.g. EnergyDamage) and the universal damage bonus.

3. Damage taken by the target

finalTaken = outgoing × max(0.2, 1 − DamageReduction − typeResist)
Variable Meaning
DamageReduction Universal reduction stat.
typeResist Damage-type-specific resist stat for the incoming type.
Floor Combined reduction is hard-capped at 80% — at least 20% of incoming damage always lands.

Practical implications

  • Roughly, every 5 points of CombatPower/MiningPower/SalvagePower converts to 1 average DPS, before stacking penalty, attack-speed bonuses, crits, and resistances.
  • Stacking the same turret class on one ship suffers sharp diminishing returns — the third identical turret only contributes about 78% of its raw power.
  • AttackSpeed is stronger than it looks — it shortens the time between shots without lowering per-shot damage, so +20% AttackSpeed ≈ +20% DPS.
  • Critical hits compound — with high CriticalChance and the combatMegaCrit skill, multi-stage crits multiply damage geometrically.