diff --git a/Source/CombatExtended/CombatExtended/WorldObjects/WorldObjectDamageWorker.cs b/Source/CombatExtended/CombatExtended/WorldObjects/WorldObjectDamageWorker.cs index 15ae034f4a..5d773e3ac4 100644 --- a/Source/CombatExtended/CombatExtended/WorldObjects/WorldObjectDamageWorker.cs +++ b/Source/CombatExtended/CombatExtended/WorldObjects/WorldObjectDamageWorker.cs @@ -37,12 +37,13 @@ public virtual float CalculateDamage(ThingDef projectile, Faction faction) var result = FragmentsPotentialDamage(projectile) + FirePotentialDamage(projectile) + EMPPotentialDamage(projectile, empModifier) + OtherPotentialDamage(projectile); //Damage calculated as in-map damage, needs to be converted into world object damage. 3500f experimentally obtained result /= 3500f; - //Crit/Miss imitation - result *= Rand.Range(0.4f, 1.5f); + //manual overwrite if (projectile.projectile is ProjectilePropertiesCE projectileProperties && projectileProperties.shellingProps.damage > 0f) { - result *= projectileProperties.shellingProps.damage; + result = projectileProperties.shellingProps.damage; } + //Crit/Miss imitation + result *= Rand.Range(0.4f, 1.5f); return result; } protected const float fragDamageMultipler = 0.04f;