You can decompile it to get the current implementation.
private double DamageCalculator(int OffensiveStat, int DefensiveStat)
{
return (double)OffensiveStat * (100.0 / (100.0 + (double)(DefensiveStat * 2))) + (double)Globals.Rand.Next(0, 3);
}
few checks after but that's basically it