public override string ToString() { return($"{Order};{GamerTag};{ClanTag};{Name};{Tier};{TotalDamage.ToString("R", CultureInfo.InvariantCulture)}"); }
public override Dictionary <string, string> GetCharacterDisplayCalculationValues() { CalculationsWarlock cw = new CalculationsWarlock(); Dictionary <string, string> vals = new Dictionary <string, string>(); vals.Add("Health", BasicStats.Health.ToString()); vals.Add("Mana", BasicStats.Mana.ToString()); vals.Add("Stamina", BasicStats.Stamina.ToString()); vals.Add("Intellect", BasicStats.Intellect.ToString()); vals.Add("Total Crit %", CritPercent.ToString("0.00")); vals.Add("Hit %", HitPercent.ToString("0.00")); vals.Add("Haste %", HastePercent.ToString("0.00")); vals.Add("Shadow Damage", ShadowDamage.ToString("0")); vals.Add("Fire Damage", FireDamage.ToString("0")); vals.Add("ISB Uptime", IsbUptime.ToString("0.00")); vals.Add("RDPS from ISB", Math.Round(RaidDpsFromIsb).ToString()); vals.Add("Total Damage", TotalDamage.ToString()); vals.Add("DPS", Math.Round(DpsRating).ToString()); //vals.Add("Casting Speed", (1f / (TotalStats.SpellHasteRating / 1570f + 1f)).ToString()); //vals.Add("Shadow Damage", (TotalStats.SpellShadowDamageRating + TotalStats.SpellDamageRating).ToString()); //vals.Add("Fire Damage", (TotalStats.SpellFireDamageRating + TotalStats.SpellDamageRating).ToString()); //vals.Add("DPS", DPS.ToString()); //if (Spells.Exists(delegate(Spell s) { return s.Name.ToUpper() == "SHADOWBOLT"; })) //{ // ShadowBolt sb = new ShadowBolt(character, TotalStats); // vals.Add("SB Min Hit", sb.MinDamage.ToString()); // vals.Add("SB Max Hit", sb.MaxDamage.ToString()); // vals.Add("SB Min Crit", (sb.MinDamage * sb.CritModifier).ToString()); // vals.Add("SB Max Crit", (sb.MaxDamage * sb.CritModifier).ToString()); // vals.Add("SB Average Hit", sb.AverageDamage.ToString()); // vals.Add("SB Crit Rate", sb.CritPercent.ToString()); // vals.Add("ISB Uptime", (sb.ISBuptime * 100f).ToString()); // vals.Add("#SB Casts", NumCasts[sb].ToString()); //} //else //{ // vals.Add("SB Min Hit", ""); // vals.Add("SB Max Hit", ""); // vals.Add("SB Min Crit", ""); // vals.Add("SB Max Crit", ""); // vals.Add("SB Average Hit", ""); // vals.Add("SB Crit Rate", ""); // vals.Add("ISB Uptime", ""); // vals.Add("#SB Casts", "0"); //} //if (Spells.Exists(delegate(Spell s) { return s.Name.ToUpper() == "INCINERATE"; })) //{ // Incinerate sb = new Incinerate(character, TotalStats); // vals.Add("Incinerate Min Hit", sb.MinDamage.ToString()); // vals.Add("Incinerate Max Hit", sb.MaxDamage.ToString()); // vals.Add("Incinerate Min Crit", (sb.MinDamage * sb.CritModifier).ToString()); // vals.Add("Incinerate Max Crit", (sb.MaxDamage * sb.CritModifier).ToString()); // vals.Add("Incinerate Average Hit", sb.AverageDamage.ToString()); // vals.Add("Incinerate Crit Rate", sb.CritPercent.ToString()); // vals.Add("#Incinerate Casts", NumCasts[sb].ToString()); //} //else //{ // vals.Add("Incinerate Min Hit",""); // vals.Add("Incinerate Max Hit",""); // vals.Add("Incinerate Min Crit",""); // vals.Add("Incinerate Max Crit",""); // vals.Add("Incinerate Average Hit", ""); // vals.Add("Incinerate Crit Rate",""); // vals.Add("#Incinerate Casts","0"); //} //if (Spells.Exists(delegate(Spell s) { return s.Name.ToUpper() == "IMMOLATE"; })) //{ // Immolate sb = new Immolate(character, TotalStats); // vals.Add("ImmolateMin Hit", sb.MinDamage.ToString()); // vals.Add("ImmolateMax Hit", sb.MaxDamage.ToString()); // vals.Add("ImmolateMin Crit", (sb.MinDamage * sb.CritModifier).ToString()); // vals.Add("ImmolateMax Crit", (sb.MaxDamage * sb.CritModifier).ToString()); // vals.Add("ImmolateAverage Hit", sb.AverageDamage.ToString()); // vals.Add("ImmolateCrit Rate", sb.CritPercent.ToString()); // vals.Add("#Immolate Casts", NumCasts[sb].ToString()); //} //else //{ // vals.Add("ImmolateMin Hit",""); // vals.Add("ImmolateMax Hit",""); // vals.Add("ImmolateMin Crit",""); // vals.Add("ImmolateMax Crit",""); // vals.Add("ImmolateAverage Hit",""); // vals.Add("ImmolateCrit Rate",""); // vals.Add("#Immolate Casts","0"); //} //if (Spells.Exists(delegate(Spell s) { return s.Name.ToUpper() == "CURSEOFAGONY"; })) //{ // CurseOfAgony sb = new CurseOfAgony(character, TotalStats); // vals.Add("CoA Tick", (sb.AverageDamage / (sb.PeriodicDuration / sb.PeriodicTickInterval)).ToString()); // vals.Add("CoA Total Damage", sb.AverageDamage.ToString()); // vals.Add("#CoA Casts", NumCasts[sb].ToString()); //} //else //{ // vals.Add("CoA Tick",""); // vals.Add("CoA Total Damage",""); // vals.Add("#CoA Casts","0"); //} //if (Spells.Exists(delegate(Spell s) { return s.Name.ToUpper() == "CURSEOFDOOM"; })) //{ // CurseOfDoom sb = new CurseOfDoom(character, TotalStats); // vals.Add("CoD Total Damage", sb.AverageDamage.ToString()); // vals.Add("#CoD Casts", NumCasts[sb].ToString()); //} //else //{ // vals.Add("CoD Total Damage",""); // vals.Add("#CoD Casts",""); //} //if (Spells.Exists(delegate(Spell s) { return s.Name.ToUpper() == "CORRUPTION"; })) //{ // Corruption sb = new Corruption(character, TotalStats); // vals.Add("Corr Tick", (sb.AverageDamage / (sb.PeriodicDuration / sb.PeriodicTickInterval)).ToString()); // vals.Add("Corr Total Damage", sb.AverageDamage.ToString()); // vals.Add("#Corr Casts", NumCasts[sb].ToString()); //} //else //{ // vals.Add("Corr Tick", ""); // vals.Add("Corr Total Damage",""); // vals.Add("#Corr Casts",""); //} //if (Spells.Exists(delegate(Spell s) { return s.Name.ToUpper() == "UNSTABLEAFFLICTION"; })) //{ // UnstableAffliction sb = new UnstableAffliction(character, TotalStats); // vals.Add("UA Tick", (sb.AverageDamage / (sb.PeriodicDuration / sb.PeriodicTickInterval)).ToString()); // vals.Add("UA Total Damage", sb.AverageDamage.ToString()); // vals.Add("#UA Casts", NumCasts[sb].ToString()); //} //else //{ // vals.Add("UA Tick", ""); // vals.Add("UA Total Damage",""); // vals.Add("#UA Casts", "0"); //} //if (Spells.Exists(delegate(Spell s) { return s.Name.ToUpper() == "SIPHONLIFE"; })) //{ // SiphonLife sb = new SiphonLife(character, TotalStats); // vals.Add("SL Tick", (sb.AverageDamage / (sb.PeriodicDuration / sb.PeriodicTickInterval)).ToString()); // vals.Add("SL Total Damage", sb.AverageDamage.ToString()); // vals.Add("#SL Casts", NumCasts[sb].ToString()); //} //else //{ // vals.Add("SL Tick",""); // vals.Add("SL Total Damage",""); // vals.Add("#SL Casts","0"); //} //vals.Add("#Lifetaps", NumLifetaps.ToString()); //vals.Add("Mana Per LT", LifetapManaReturn.ToString()); return(vals); }