collate murders
This commit is contained in:
parent
6e5f8f504f
commit
aa7f0bcd1a
@ -1,6 +1,48 @@
|
||||
using EDPlayerJournal.BGS;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using EDPlayerJournal;
|
||||
|
||||
namespace EliteBGS.LogGenerator;
|
||||
|
||||
public class MurderFormat : GenericFormat<FoulMurder> {
|
||||
public class MurderFormat : LogFormatter {
|
||||
public string GenerateLog(Objective objective) {
|
||||
var logs = objective
|
||||
.EnabledOfType<FoulMurder>()
|
||||
.GroupBy(x => x.CrimeType)
|
||||
.ToDictionary(x => x.Key, x => x.ToList())
|
||||
;
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
if (logs == null || logs.Count() <= 0) {
|
||||
return "";
|
||||
}
|
||||
|
||||
foreach (var log in logs) {
|
||||
string type;
|
||||
|
||||
if (string.Compare(log.Key, CrimeTypes.Murder) == 0) {
|
||||
if (log.Value.Count > 1) {
|
||||
type = "ships";
|
||||
} else {
|
||||
type = "ship";
|
||||
}
|
||||
} else {
|
||||
if (log.Value.Count > 1) {
|
||||
type = "people";
|
||||
} else {
|
||||
type = "person";
|
||||
}
|
||||
}
|
||||
builder.AppendFormat("Murdered {0} {1} (Bounties: {2}, Fines: {3})",
|
||||
log.Value.Count, type,
|
||||
log.Value.Sum(x => x.Bounties),
|
||||
log.Value.Sum(x => x.Fines)
|
||||
);
|
||||
}
|
||||
|
||||
return builder.ToString();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user