public static float CalculateStrikeMagnitudeForSwing(float swingSpeed, float impactPointAsPercent, float weaponWeight, float weaponLength, float weaponInertia, float weaponCoM, float extraLinearSpeed)
{
float num = weaponLength * impactPointAsPercent - weaponCoM;
float num2 = swingSpeed * (0.5f + weaponCoM) + extraLinearSpeed;
float num3 = 0.5f * weaponWeight * num2 * num2;
float num4 = 0.5f * weaponInertia * swingSpeed * swingSpeed;
float num5 = num3 + num4;
float num6 = (num2 + swingSpeed * num) / (1f / weaponWeight + num * num / weaponInertia);
float num7 = num2 - num6 / weaponWeight;
float num8 = swingSpeed - num6 * num / weaponInertia;
float num9 = 0.5f * weaponWeight * num7 * num7;
float num10 = 0.5f * weaponInertia * num8 * num8;
float num11 = num9 + num10;
float num12 = num5 - num11;
num11 *= 0.5f;
float num13 = num12 + 0.5f;
return 0.067f * num13;
}
// Token: 0x06000163 RID: 355 RVA: 0x000067F0 File Offset: 0x000049F0
public static float CalculateStrikeMagnitudeForThrust(float thrustWeaponSpeed, float weaponWeight, float extraLinearSpeed, bool isThrown)
{
float num = thrustWeaponSpeed + extraLinearSpeed;
if (!isThrown)
{
weaponWeight += 2.5f;
}
float num2 = 0.5f * weaponWeight * num * num;
return 0.125f * num2;
}