public void AddTotalDamageFromExplorePlayerStatus(ExplorePlayerStatus status) { TotalDamage totalDamage = new TotalDamage(); totalDamage.uid = status.userId; totalDamage.dmg = status.givenTotalDamage; dmgs.Add(totalDamage); }
internal SquadAttack(Battle battle, ICollection <UnitAttackArgs> attacks) { IDictionary <int, SquadState> losses = new SortedDictionary <int, SquadState>(); m_unitAttack = new List <UnitAttack>(attacks.Count); int attackerId = int.MinValue; foreach (UnitAttackArgs arg in attacks) { Unit attacker; Unit target; if (arg.AttackerSide == BattleSideType.Player) { attacker = arg.AttackerUnit == PlayerUnits.GENERAL ? battle.General : battle.Units[arg.AttackerUnit]; target = arg.TargetUnit == PlayerUnits.GENERAL ? battle.EnemyGeneral : battle.EnemyUnits[arg.TargetUnit]; } else { attacker = arg.AttackerUnit == PlayerUnits.GENERAL ? battle.General : battle.EnemyUnits[arg.AttackerUnit]; target = arg.TargetUnit == PlayerUnits.GENERAL ? battle.EnemyGeneral : battle.Units[arg.TargetUnit]; } m_unit = attacker; if (attackerId != arg.AttackerUnitId) { attackerId = arg.AttackerUnitId; m_count++; } UnitAttack.Add(new UnitAttack(attacker, arg.AttackerUnitId, target, arg.Damage, arg.UnitHealth)); SquadState squadState; if (!losses.TryGetValue(arg.TargetUnit, out squadState)) { squadState = new SquadState(target, 0, 0); losses.Add(arg.TargetUnit, squadState); } if (squadState != null) { if (arg.Damage >= arg.UnitHealth) { squadState.Count++; } squadState.Health += Math.Min(arg.Damage, arg.UnitHealth); } } m_totalDamage = new List <SquadState>(losses.Count); foreach (KeyValuePair <int, SquadState> pair in losses) { TotalDamage.Add(pair.Value); } }
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); }