PEnergy = 40000000 × ((1 + PropMass)^0.6 − 1)
Speed = (PEnergy × 2000 / ProjMass)^0.5
MuzzleVel = Speed [in m/s]
KE = (Mass × Speed²) / 2000 [kJ]
Momentum = Speed × Mass
fullKE = (Mass × Speed^1.8) / 2000 + Momentum
overspeed = max(Speed − LimitVel, 0)
Penetration = max(fullKE − (overspeed² / LimitVel×5) × (fullKE/200)^0.95, fullKE × 0.1)
FrArea = π × (Caliber / 2)² [cm²]
PenArea = FrArea^0.6
MaxPen = (Penetration / PenArea) × KEtoRHA
KEtoRHA = 0.04 [conversion constant]
FlightSpeed = Bullet.Flight:Length() [game units/s]
Drag = (DragCoef × FlightSpeed²) / DragDiv
Flight = Flight − Drag × direction × DeltaTime
DragDiv = 8000
DragCoef = (FrArea / 10000) / ProjMass [AP/HE formula]
BlastRadius = FillerMass^0.33 × 8 [metres]
BlastEnergy = FillerMass × HEPower [kJ] (HEPower = 3000)
MaxBlastPen = FillerMass × HEPower / HEBlastPenetration
Fragments = floor((FillerMass / FragMass) × 500)
FragVel = sqrt(FillerMass × 3000000 / FragMass / Fragments)
RicoAngle = min(BaseRico − ((Speed − 800) / 39.37 / 5), 89)
None = RicoAngle − 10 → 0% chance
Mean = RicoAngle → 50% chance
Max = RicoAngle + 10 → 100% chance
AP BaseRico = 53° | HE = 70° | APFSDS = 30°