add thargoid formatter for logs

This commit is contained in:
Florian Stinglmayr 2022-11-25 14:48:59 +01:00
parent 5f9fff3922
commit e0e7cb5792
2 changed files with 33 additions and 0 deletions

View File

@ -12,6 +12,7 @@ public class DiscordLogGenerator {
new FailedMissionFormat(),
new MurderFormat(),
new VoucherFormat(),
new ThargoidFormatter(),
new CombatZoneFormat(),
new KillBondsFormat(),
new CartographicsFormat(),

View File

@ -0,0 +1,32 @@
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<ThargoidKill> kills = objective.EnabledOfType<ThargoidKill>().ToList();
if (kills.Count == 0 ) {
return "";
}
Dictionary<ThargoidVessel, List<ThargoidKill>> 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} killed\n", k.Value.Count, name);
}
return builder.ToString();
}
}