//Moved here, as it's used in both the Parser report generator and the GraphPlayerTabVM public string GenerateDamageSummary() { StringBuilder sb = new StringBuilder($"[ {Name} - {RelativeDPS * 100f:0.00}% - {FilteredDamage.TotalDamage:#,##0} dmg ]"); sb.AppendLine(); Dictionary <string, AttackInfo> instanceContainer = new Dictionary <string, AttackInfo>(); foreach (var damageInstance in FilteredDamage.GetFilteredDamageInstances()) { if (!instanceContainer.ContainsKey(damageInstance.AttackName)) { instanceContainer.Add(damageInstance.AttackName, new AttackInfo(damageInstance.AttackName, damageInstance.AttackId)); } var container = instanceContainer[damageInstance.AttackName]; container.AddDamageInstance(damageInstance); } foreach (var container in instanceContainer.OrderByDescending(kvp => kvp.Value.TotalDamage)) { container.Value.WriteSummaryToStringBuilder(sb, FilteredDamage.TotalDamage); } return(sb.ToString()); }
public void RecalculateDPS(TimeSpan clockTime) { foreach (var tracker in allTrackers) { tracker.Update(clockTime); } foreach (var info in AttackInfoList) { info.Value.Update(clockTime); } FilteredDamage.Update(); }
/// <summary> /// Bitflags to include related tracker damage in TotalDamage /// </summary> /// <param name="trackers"></param> public void SetTrackersToIncludeInTotalDamage(PSO2DamageTrackers trackers) { trackersToSum = trackers; FilteredDamage.ChangeEnabledTrackers(trackers); }