using EDPlayerJournal; using EDPlayerJournal.BGS; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace EliteBGS.LogGenerator; public class ThargoidFormatter : LogFormatter { public string GenerateLog(Objective objective) { List kills = objective.EnabledOfType().ToList(); if (kills.Count == 0 ) { return ""; } Dictionary> sorted = kills .GroupBy(x => x.ThargoidType) .ToDictionary(x => x.Key, x => x.ToList()) ; StringBuilder builder = new StringBuilder(); foreach (var k in sorted) { string name = Thargoid.GetVesselName(k.Key); builder.AppendFormat("{0}x {1}(s) killed\n", k.Value.Count, name); } return builder.ToString(); } public string GenerateSummary(Objective objective) { List kills = objective.EnabledOfType().ToList(); if (kills.Count == 0 ) { return ""; } int drones = kills.Where(x => x.ThargoidType == ThargoidVessel.Revenant).Count(); int scouts = kills.Where(x => x.ThargoidType == ThargoidVessel.Scout).Count(); int interceptors = kills.Count - scouts - drones; StringBuilder builder = new StringBuilder(); builder.Append("AX: "); if (interceptors > 0) { builder.AppendFormat("{0} INT", interceptors); } if (scouts > 0) { if (interceptors > 0) { builder.Append(", "); } builder.AppendFormat("{0} SCT", scouts); } if (drones > 0) { if (interceptors > 0 || scouts > 0) { builder.Append(", "); } builder.AppendFormat("{0} DRN", drones); } return builder.ToString(); } }