private static RatingStorage GetRatingWN7Calc(RatingStructure ratingStruct) { ratingStruct.RatingType = "WN7"; RatingStorage Storage = new RatingStorage(ratingStruct); if (ratingStruct.battlesCount == 0) { return Storage; } Storage.rDAMAGE = WN7_Damage(ratingStruct); Storage.rFRAG = WN7_Frags(ratingStruct); Storage.rSPOT = WN7_Spotted(ratingStruct); Storage.rDEF = WN7_Defence(ratingStruct) ; Storage.rWIN = WN7_WinRate(ratingStruct); Storage.rTIERMALUS = WN7_TierMalus(ratingStruct); //if (ratingStruct.countryID == 0 & ratingStruct.tankID == 32) //{ // WOTHelper.AddToLog("WN7 : " + Storage.Value); // WOTHelper.AddToLog("TIER: " + ratingStruct.tier); // WOTHelper.AddToLog("WRAT: " + ratingStruct.winRate); // WOTHelper.AddToLog("TDMG: " + Storage.rDAMAGE); // WOTHelper.AddToLog("TFRG: " + Storage.rFRAG); // WOTHelper.AddToLog("TSPT: " + Storage.rSPOT); // WOTHelper.AddToLog("TDEF: " + Storage.rDEF); // WOTHelper.AddToLog("TWIN: " + Storage.rWIN); // WOTHelper.AddToLog("TMAL: " + Storage.rTIERMALUS); //} return Storage; }
private static RatingStorage GetRatingWN7Calc(RatingStructure ratingStruct) { ratingStruct.RatingType = "WN7"; RatingStorage Storage = new RatingStorage(ratingStruct); if (ratingStruct.battlesCount == 0) { return(Storage); } Storage.rDAMAGE = WN7_Damage(ratingStruct); Storage.rFRAG = WN7_Frags(ratingStruct); Storage.rSPOT = WN7_Spotted(ratingStruct); Storage.rDEF = WN7_Defence(ratingStruct); Storage.rWIN = WN7_WinRate(ratingStruct); Storage.rTIERMALUS = WN7_TierMalus(ratingStruct); //if (ratingStruct.countryID == 0 & ratingStruct.tankID == 32) //{ // WOTHelper.AddToLog("WN7 : " + Storage.Value); // WOTHelper.AddToLog("TIER: " + ratingStruct.tier); // WOTHelper.AddToLog("WRAT: " + ratingStruct.winRate); // WOTHelper.AddToLog("TDMG: " + Storage.rDAMAGE); // WOTHelper.AddToLog("TFRG: " + Storage.rFRAG); // WOTHelper.AddToLog("TSPT: " + Storage.rSPOT); // WOTHelper.AddToLog("TDEF: " + Storage.rDEF); // WOTHelper.AddToLog("TWIN: " + Storage.rWIN); // WOTHelper.AddToLog("TMAL: " + Storage.rTIERMALUS); //} return(Storage); }
private static RatingStorage GetRatingEffCalc(RatingStructure ratingStruct) { ratingStruct.RatingType = "Eff"; RatingStorage oStorage = new RatingStorage(ratingStruct); if (ratingStruct.battlesCount == 0) { return(oStorage); } oStorage.rDAMAGE = EFF_Damage(ratingStruct); oStorage.rFRAG = EFF_Kills(ratingStruct); oStorage.rSPOT = EFF_Spotted(ratingStruct); oStorage.rCAP = EFF_Captured(ratingStruct); oStorage.rDEF = EFF_Defence(ratingStruct); return(oStorage); }
private static RatingStorage GetRatingBRCalc(RatingStructure ratingStruct) { ratingStruct.RatingType = "BR"; RatingStorage oStorage = new RatingStorage(ratingStruct); if (ratingStruct.battlesCount == 0) { return(oStorage); } oStorage.rDAMAGE = BR_Damage(ratingStruct); oStorage.rFRAG = BR_Kills(ratingStruct); oStorage.rSPOT = BR_Spotted(ratingStruct); oStorage.rCAP = BR_Captured(ratingStruct); oStorage.rDEF = BR_Defence(ratingStruct); oStorage.rDAMAGE_RADIO = BR_DamageAssistedRadio(ratingStruct); oStorage.rDAMAGE_TRACKS = BR_DamageAssistedTrack(ratingStruct); return(oStorage); }
private static RatingStorage GetRatingWN8Calc(RatingStructure ratingStruct) { ratingStruct.RatingType = "WN8"; RatingStorage Storage = new RatingStorage(ratingStruct); if (ratingStruct.battlesCount == 0) { return Storage; } //WOTHelper.AddToLog(countryID); //WOTHelper.AddToLog(tankID); WN8ExpValue WN8ExpectedTank = null; try { WN8ExpectedTank = ratingStruct.WN8ExpectedTankList.GetByTankID(ratingStruct.countryID, ratingStruct.tankID); } catch (Exception ex) { WOTHelper.AddToLog(ex.Message); } if (WN8ExpectedTank == null) { WOTHelper.AddToLog("WNExpectedTank is NULL: " + ratingStruct.countryID + " - " + ratingStruct.tankID); return Storage; } //rDAMAGE=sum(TotalDamageOfSingleTank)/sum(ExpectedDamagePerTank*BattlesInThatTank) //rSPOT=sum(totalSpotOfSingleTank)/sum(ExpectedSpotPerTank*BattlesInThatTank) //rFRAG=sum(totalFragsOfSingleTank)/sum(ExpectedFragsPerTank*BattlesInThatTank) //rWin=sum(WinsOfSingleTanks)/Sum(ExpectedWinsPerTank*BattlesInThatTank) Storage.expDAMAGE = WN8ExpectedTank.expDamage; Storage.expFRAG = WN8ExpectedTank.expFrag; Storage.expSPOT = WN8ExpectedTank.expSpot; Storage.expDEF = WN8ExpectedTank.expDefense; Storage.expWIN = WN8ExpectedTank.expWin; //Storage.damage = ratingStruct.AvgDamageDealt; //Storage.frags = ratingStruct.AvgFrags; //Storage.spotted = ratingStruct.AvgSpotted; //Storage.defence = ratingStruct.AvgDefencePoints; //Storage.winRate = ratingStruct.winRate; Storage.rDAMAGEc = WN8_Damage(WN8ExpectedTank, ratingStruct); Storage.rFRAGc = WN8_Frags(WN8ExpectedTank, Storage.rDAMAGEc, ratingStruct); Storage.rSPOTc = WN8_Spotted(WN8ExpectedTank, Storage.rDAMAGEc, ratingStruct); Storage.rDEFc = WN8_Defence(WN8ExpectedTank, Storage.rDAMAGEc, ratingStruct); Storage.rWINc = WN8_WinRate(WN8ExpectedTank, ratingStruct); Storage.rDAMAGE = 980 * Storage.rDAMAGEc; Storage.rFRAG = 210 * Storage.rDAMAGEc * Storage.rFRAGc; Storage.rSPOT = 155 * Storage.rFRAGc * Storage.rSPOTc; Storage.rDEF = 75 * Storage.rDEFc * Storage.rFRAGc; Storage.rWIN = 145 * Math.Min(1.8, Storage.rWINc); //if (ratingStruct.countryID == 0 & ratingStruct.tankID == 32) //if (Storage.damage == 820) //if (ratingStruct.isOverall) //{ // WOTHelper.AddToLog("Setting exp: " + Storage.rWIN); // WOTHelper.AddToLog("#############"); // printExpectedTank(WN8ExpectedTank); // printRatingStruct(ratingStruct); // WOTHelper.AddToLog("rDAMAGEc " + Storage.rDAMAGEc); // WOTHelper.AddToLog("rFRAGc " + Storage.rFRAGc); // WOTHelper.AddToLog("rSPOTc " + Storage.rSPOTc); // WOTHelper.AddToLog("rDEFc " + Storage.rDEFc); // WOTHelper.AddToLog("rWINc " + Storage.rWINc); // WOTHelper.AddToLog("____"); // printRatingStruct(ratingStruct); // WOTHelper.AddToLog("rFRAGc " + Storage.rFRAGc); // WOTHelper.AddToLog("rSPOTc " + Storage.rSPOTc); // WOTHelper.AddToLog("rDEFc " + Storage.rDEFc); // WOTHelper.AddToLog("rWINc " + Storage.rWINc); // WOTHelper.AddToLog("____"); // WOTHelper.AddToLog("rDAMAGE " + Storage.rDAMAGE); // WOTHelper.AddToLog("rFRAG " + Storage.rFRAG); // WOTHelper.AddToLog("rSPOT " + Storage.rSPOT); // WOTHelper.AddToLog("rDEF " + Storage.rDEF); // WOTHelper.AddToLog("rWIN " + Storage.rWIN); // WOTHelper.AddToLog("rSUM " + Storage.Value); // WOTHelper.AddToLog("rWeight " + Storage.Weight); // WOTHelper.AddToLog("#############"); //} Storage.HTMLColorDescription = WOTStatistics.Core.WOTHtml.WN8ColorScaleDescription(Storage.Value); Storage.HTMLColor = WOTStatistics.Core.WOTHtml.WN8ColorScale(Storage.Value); return Storage; }
private static string WN8_Tooltip(RatingStorage WN8) //string damageCaption, double damage, double damageFormula, string killCaption, double kill, double killFormula, string spottedCaption, double spotted, double spottedFormula, string Translations.TranslationGet("STR_DEFENCE", "de", "Defence"), double defence, double defenceFormula, string winRateCaption, double winRate, double winRateFormula) { //, WN8.damage, WN8.rDAMAGE, , WN8.frags, WN8.rFRAG, , WN8.spotted, WN8.rSPOT, , WN8.defence, WN8.rDEF, , WN8.winRate, WN8.rWIN string total = FormatNumberToString(WN8.Value, 2); double[] valueArray = new double[] { WN8.rDAMAGE, WN8.rFRAG, WN8.rSPOT, WN8.rDEF, WN8.rWIN }; double maxValue = valueArray.Max(); double iTotal = maxValue; List<string> i = new List<string>(); string[] s = new string[8] { "", "Value", "Expected", "WN8", "0", "0", "1", "H" }; i.Add(string.Join("|", s)); s[0] = Translations.TranslationGet("STR_DAMAGE", "de", "Damage"); s[1] = FormatNumberToString(WN8.damage, 0); s[2] = FormatNumberToString(WN8.rDAMAGE, 0); s[3] = FormatNumberToString(WN8.expDAMAGE, 0); s[4] = FormatNumberToString(Math.Abs(((WN8.rDAMAGE / iTotal) - 1) * 100), 2); s[5] = FormatNumberToString(Math.Abs(((WN8.rDAMAGE / iTotal)) * 100), 2); s[6] = "0"; s[7] = "D"; i.Add(string.Join("|", s)); s[0] = Translations.TranslationGet("HTML_CONT_KILLS", "de", "Kills"); s[1] = FormatNumberToString(WN8.frags, 1); s[2] = FormatNumberToString(WN8.rFRAG, 1); s[3] = FormatNumberToString(WN8.expFRAG, 1); s[4] = FormatNumberToString(Math.Abs(((WN8.rFRAG / iTotal) - 1) * 100), 2); s[5] = FormatNumberToString(Math.Abs(((WN8.rFRAG / iTotal)) * 100), 2); s[6] = "0"; i.Add(string.Join("|", s)); s[0] = Translations.TranslationGet("HTML_CONT_DETECTED", "de", "Detected"); s[1] = FormatNumberToString(WN8.spotted, 1); s[2] = FormatNumberToString(WN8.rSPOT, 1); s[3] = FormatNumberToString(WN8.expSPOT, 1); s[4] = FormatNumberToString(Math.Abs(((WN8.rSPOT / iTotal) - 1) * 100), 2); s[5] = FormatNumberToString(Math.Abs(((WN8.rSPOT / iTotal)) * 100), 2); s[6] = "0"; i.Add(string.Join("|", s)); s[0] = Translations.TranslationGet("STR_DEFENCE", "de", "Defence"); s[1] = FormatNumberToString(WN8.defence, 1); s[2] = FormatNumberToString(WN8.rDEF, 1); s[3] = FormatNumberToString(WN8.expDEF, 1); s[4] = FormatNumberToString(Math.Abs(((WN8.rDEF / iTotal) - 1) * 100), 2); s[5] = FormatNumberToString(Math.Abs(((WN8.rDEF / iTotal)) * 100), 2); s[6] = "0"; i.Add(string.Join("|", s)); s[0] = Translations.TranslationGet("STR_WINRATE", "de", "Win Percentage"); s[1] = FormatNumberToString(WN8.winRate, 1); s[2] = FormatNumberToString(WN8.rWIN, 1); s[3] = FormatNumberToString(WN8.expWIN, 1); s[4] = FormatNumberToString(Math.Abs(((WN8.rWIN / iTotal) - 1) * 100), 2); s[5] = FormatNumberToString(Math.Abs(((WN8.rWIN / iTotal)) * 100), 2); s[6] = "0"; i.Add(string.Join("|", s)); s[0] = "Total"; s[1] = ""; s[2] = total; s[3] = ""; s[4] = "0"; s[5] = "0"; s[6] = "1"; s[7] = "T"; i.Add(string.Join("|", s)); //WOTHelper.AddToLog (string.Join(";", i)); return string.Join(";", i); }
public static string GetRatingWN8ToolTip(RatingStorage WN8) { return WN8_Tooltip(WN8); }
public static RatingStorage GetRatingWN8(RatingStructure ratingStruct) { RatingStorage WN8 = GetRatingWN8Calc(ratingStruct); return WN8; }
private static RatingStorage GetRatingWN8Calc(RatingStructure ratingStruct) { ratingStruct.RatingType = "WN8"; RatingStorage Storage = new RatingStorage(ratingStruct); if (ratingStruct.battlesCount == 0) { return Storage; } //WOTHelper.AddToLog(countryID); //WOTHelper.AddToLog(tankID); WN8ExpValue WN8ExpectedTank = null; try { WN8ExpectedTank = ratingStruct.WN8ExpectedTankList.GetByTankID(ratingStruct.countryID, ratingStruct.tankID); } catch (Exception ex) { WOTHelper.AddToLog(ex.Message); } if (WN8ExpectedTank == null) { WOTHelper.AddToLog("WNExpectedTank is NULL: " + ratingStruct.countryID + " - " + ratingStruct.tankID); return Storage; } //rDAMAGE=sum(TotalDamageOfSingleTank)/sum(ExpectedDamagePerTank*BattlesInThatTank) //rSPOT=sum(totalSpotOfSingleTank)/sum(ExpectedSpotPerTank*BattlesInThatTank) //rFRAG=sum(totalFragsOfSingleTank)/sum(ExpectedFragsPerTank*BattlesInThatTank) //rWin=sum(WinsOfSingleTanks)/Sum(ExpectedWinsPerTank*BattlesInThatTank) Storage.expDAMAGE = WN8ExpectedTank.expDamage; Storage.expFRAG = WN8ExpectedTank.expFrag; Storage.expSPOT = WN8ExpectedTank.expSpot; Storage.expDEF = WN8ExpectedTank.expDefense; Storage.expWIN = WN8ExpectedTank.expWin; //Storage.damage = ratingStruct.AvgDamageDealt; //Storage.frags = ratingStruct.AvgFrags; //Storage.spotted = ratingStruct.AvgSpotted; //Storage.defence = ratingStruct.AvgDefencePoints; //Storage.winRate = ratingStruct.winRate; Storage.rDAMAGEc = WN8_Damage(WN8ExpectedTank, ratingStruct); Storage.rFRAGc = WN8_Frags(WN8ExpectedTank, Storage.rDAMAGEc, ratingStruct); Storage.rSPOTc = WN8_Spotted(WN8ExpectedTank, Storage.rDAMAGEc, ratingStruct); Storage.rDEFc = WN8_Defence(WN8ExpectedTank, Storage.rDAMAGEc, ratingStruct); Storage.rWINc = WN8_WinRate(WN8ExpectedTank, ratingStruct); Storage.rDAMAGE = 980 * Storage.rDAMAGEc; Storage.rFRAG = 210 * Storage.rDAMAGEc * Storage.rFRAGc; Storage.rSPOT = 155 * Storage.rFRAGc * Storage.rSPOTc; Storage.rDEF = 75 * Storage.rDEFc * Storage.rFRAGc; Storage.rWIN = 145 * Math.Min(1.8, Storage.rWINc); //if (ratingStruct.countryID == 0 & ratingStruct.tankID == 32) //if (Storage.damage == 820) //if (ratingStruct.isOverall) //{ // WOTHelper.AddToLog("Setting exp: " + Storage.rWIN); // WOTHelper.AddToLog("#############"); // printExpectedTank(WN8ExpectedTank); // printRatingStruct(ratingStruct); // WOTHelper.AddToLog("rDAMAGEc " + Storage.rDAMAGEc); // WOTHelper.AddToLog("rFRAGc " + Storage.rFRAGc); // WOTHelper.AddToLog("rSPOTc " + Storage.rSPOTc); // WOTHelper.AddToLog("rDEFc " + Storage.rDEFc); // WOTHelper.AddToLog("rWINc " + Storage.rWINc); // WOTHelper.AddToLog("____"); // printRatingStruct(ratingStruct); // WOTHelper.AddToLog("rFRAGc " + Storage.rFRAGc); // WOTHelper.AddToLog("rSPOTc " + Storage.rSPOTc); // WOTHelper.AddToLog("rDEFc " + Storage.rDEFc); // WOTHelper.AddToLog("rWINc " + Storage.rWINc); // WOTHelper.AddToLog("____"); // WOTHelper.AddToLog("rDAMAGE " + Storage.rDAMAGE); // WOTHelper.AddToLog("rFRAG " + Storage.rFRAG); // WOTHelper.AddToLog("rSPOT " + Storage.rSPOT); // WOTHelper.AddToLog("rDEF " + Storage.rDEF); // WOTHelper.AddToLog("rWIN " + Storage.rWIN); // WOTHelper.AddToLog("rSUM " + Storage.Value); // WOTHelper.AddToLog("rWeight " + Storage.Weight); // WOTHelper.AddToLog("#############"); //} Storage.HTMLColorDescription = WOTStatistics.Core.WOTHtml.WN8ColorScaleDescription(Storage.Value); Storage.HTMLColor = WOTStatistics.Core.WOTHtml.WN8ColorScale(Storage.Value); return Storage; }
public static string GetRatingWN8ToolTip(RatingStorage WN8) { return WN8_Tooltip(WN8); }
//string damageCaption, double damage, double damageFormula, string killCaption, double kill, double killFormula, string spottedCaption, double spotted, double spottedFormula, string Translations.TranslationGet("STR_DEFENCE", "de", "Defence"), double defence, double defenceFormula, string winRateCaption, double winRate, double winRateFormula) private static string WN8_Tooltip(RatingStorage WN8) { //, WN8.damage, WN8.rDAMAGE, , WN8.frags, WN8.rFRAG, , WN8.spotted, WN8.rSPOT, , WN8.defence, WN8.rDEF, , WN8.winRate, WN8.rWIN string total = FormatNumberToString(WN8.Value, 2); double[] valueArray = new double[] { WN8.rDAMAGE, WN8.rFRAG, WN8.rSPOT, WN8.rDEF, WN8.rWIN }; double maxValue = valueArray.Max(); double iTotal = maxValue; List<string> i = new List<string>(); string[] s = new string[8] { "", "Value", "Expected", "WN8", "0", "0", "1", "H" }; i.Add(string.Join("|", s)); s[0] = Translations.TranslationGet("STR_DAMAGE", "de", "Damage"); s[1] = FormatNumberToString(WN8.damage, 0); s[2] = FormatNumberToString(WN8.rDAMAGE, 0); s[3] = FormatNumberToString(WN8.expDAMAGE, 0); s[4] = FormatNumberToString(Math.Abs(((WN8.rDAMAGE / iTotal) - 1) * 100), 2); s[5] = FormatNumberToString(Math.Abs(((WN8.rDAMAGE / iTotal)) * 100), 2); s[6] = "0"; s[7] = "D"; i.Add(string.Join("|", s)); s[0] = Translations.TranslationGet("HTML_CONT_KILLS", "de", "Kills"); s[1] = FormatNumberToString(WN8.frags, 1); s[2] = FormatNumberToString(WN8.rFRAG, 1); s[3] = FormatNumberToString(WN8.expFRAG, 1); s[4] = FormatNumberToString(Math.Abs(((WN8.rFRAG / iTotal) - 1) * 100), 2); s[5] = FormatNumberToString(Math.Abs(((WN8.rFRAG / iTotal)) * 100), 2); s[6] = "0"; i.Add(string.Join("|", s)); s[0] = Translations.TranslationGet("HTML_CONT_DETECTED", "de", "Detected"); s[1] = FormatNumberToString(WN8.spotted, 1); s[2] = FormatNumberToString(WN8.rSPOT, 1); s[3] = FormatNumberToString(WN8.expSPOT, 1); s[4] = FormatNumberToString(Math.Abs(((WN8.rSPOT / iTotal) - 1) * 100), 2); s[5] = FormatNumberToString(Math.Abs(((WN8.rSPOT / iTotal)) * 100), 2); s[6] = "0"; i.Add(string.Join("|", s)); s[0] = Translations.TranslationGet("STR_DEFENCE", "de", "Defence"); s[1] = FormatNumberToString(WN8.defence, 1); s[2] = FormatNumberToString(WN8.rDEF, 1); s[3] = FormatNumberToString(WN8.expDEF, 1); s[4] = FormatNumberToString(Math.Abs(((WN8.rDEF / iTotal) - 1) * 100), 2); s[5] = FormatNumberToString(Math.Abs(((WN8.rDEF / iTotal)) * 100), 2); s[6] = "0"; i.Add(string.Join("|", s)); s[0] = Translations.TranslationGet("STR_WINRATE", "de", "Win Percentage"); s[1] = FormatNumberToString(WN8.winRate, 1); s[2] = FormatNumberToString(WN8.rWIN, 1); s[3] = FormatNumberToString(WN8.expWIN, 1); s[4] = FormatNumberToString(Math.Abs(((WN8.rWIN / iTotal) - 1) * 100), 2); s[5] = FormatNumberToString(Math.Abs(((WN8.rWIN / iTotal)) * 100), 2); s[6] = "0"; i.Add(string.Join("|", s)); s[0] = "Total"; s[1] = ""; s[2] = total; s[3] = ""; s[4] = "0"; s[5] = "0"; s[6] = "1"; s[7] = "T"; i.Add(string.Join("|", s)); //WOTHelper.AddToLog (string.Join(";", i)); return string.Join(";", i); }
private static RatingStorage GetRatingBRCalc(RatingStructure ratingStruct) { ratingStruct.RatingType = "BR"; RatingStorage oStorage = new RatingStorage(ratingStruct); if (ratingStruct.battlesCount == 0) { return oStorage; } oStorage.rDAMAGE= BR_Damage(ratingStruct); oStorage.rFRAG = BR_Kills(ratingStruct); oStorage.rSPOT = BR_Spotted(ratingStruct); oStorage.rCAP = BR_Captured(ratingStruct); oStorage.rDEF = BR_Defence(ratingStruct); oStorage.rDAMAGE_RADIO = BR_DamageAssistedRadio(ratingStruct); oStorage.rDAMAGE_TRACKS = BR_DamageAssistedTrack(ratingStruct); return oStorage; }