2018-03-18 22:24:06 -04:00
|
|
|
|
using System;
|
|
|
|
|
|
2018-04-08 17:50:58 -04:00
|
|
|
|
namespace IW4MAdmin.Plugins.Stats.Cheat
|
2018-03-18 22:24:06 -04:00
|
|
|
|
{
|
|
|
|
|
class Thresholds
|
|
|
|
|
{
|
|
|
|
|
public static double HeadshotRatioThresholdLowSample(double deviations) => HeadshotRatioStandardDeviationLowSample * deviations + HeadshotRatioMean;
|
|
|
|
|
public static double HeadshotRatioThresholdHighSample(double deviations) => HeadshotRatioStandardDeviationHighSample * deviations + HeadshotRatioMean;
|
|
|
|
|
public const double HeadshotRatioStandardDeviationLowSample = 0.1769994181;
|
|
|
|
|
public const double HeadshotRatioStandardDeviationHighSample = 0.03924263235;
|
|
|
|
|
public const double HeadshotRatioMean = 0.222;
|
|
|
|
|
|
|
|
|
|
public static double BoneRatioThresholdLowSample(double deviations) => BoneRatioStandardDeviationLowSample * deviations + BoneRatioMean;
|
|
|
|
|
public static double BoneRatioThresholdHighSample(double deviations) => BoneRatioStandardDeviationHighSample * deviations + BoneRatioMean;
|
|
|
|
|
public const double BoneRatioStandardDeviationLowSample = 0.1324612879;
|
|
|
|
|
public const double BoneRatioStandardDeviationHighSample = 0.0515753935;
|
|
|
|
|
public const double BoneRatioMean = 0.4593110238;
|
|
|
|
|
|
|
|
|
|
public static double ChestAbdomenRatioThresholdLowSample(double deviations) => ChestAbdomenStandardDeviationLowSample * deviations + ChestAbdomenRatioMean;
|
|
|
|
|
public static double ChestAbdomenRatioThresholdHighSample(double deviations) => ChestAbdomenStandardDeviationHighSample * deviations + ChestAbdomenRatioMean;
|
|
|
|
|
public const double ChestAbdomenStandardDeviationLowSample = 0.2859234644;
|
|
|
|
|
public const double ChestAbdomenStandardDeviationHighSample = 0.2195212861;
|
|
|
|
|
public const double ChestAbdomenRatioMean = 0.4435;
|
|
|
|
|
|
|
|
|
|
public const int LowSampleMinKills = 15;
|
|
|
|
|
public const int MediumSampleMinKills = 30;
|
|
|
|
|
public const int HighSampleMinKills = 100;
|
|
|
|
|
public const double KillTimeThreshold = 0.2;
|
|
|
|
|
|
2018-05-28 21:30:31 -04:00
|
|
|
|
public const double MaxStrainBan = 1.12;
|
2018-06-26 21:17:24 -04:00
|
|
|
|
|
|
|
|
|
//=exp((MAX(-3.07+(-3.07/sqrt(J20)),-3.07-(-3.07/sqrt(J20))))+(4*(0.869)))
|
|
|
|
|
public static double MaxOffset(int sampleSize) => Math.Exp(Math.Max(-3.07 + (-3.07 / Math.Sqrt(sampleSize)), -3.07 - (-3.07 / Math.Sqrt(sampleSize))) + 4 * (0.869));
|
2018-05-20 22:35:56 -04:00
|
|
|
|
public const double MaxStrainFlag = 0.36;
|
2018-05-04 00:22:10 -04:00
|
|
|
|
|
2018-03-18 22:25:11 -04:00
|
|
|
|
public static double GetMarginOfError(int numKills) => 1.6455 / Math.Sqrt(numKills);
|
2018-03-18 22:24:06 -04:00
|
|
|
|
|
|
|
|
|
public static double Lerp(double v1, double v2, double amount)
|
|
|
|
|
{
|
|
|
|
|
return v1 + (v2 - v1) * amount;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|