Compare commits

..

No commits in common. "master" and "701a791a39d7d3071c7b33e9253f26524abff56c" have entirely different histories.

72 changed files with 1215 additions and 5374 deletions

3
.gitignore vendored
View File

@ -360,5 +360,4 @@ MigrationBackup/
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
/site
FodyWeavers.xsd

View File

@ -1,24 +0,0 @@
<Window x:Class="EliteBGS.AdjustProfitWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:EliteBGS"
mc:Ignorable="d"
Title="Adjust Trade Profit" Height="130" Width="450">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Content="Use this dialog to adjust trade profits" Grid.Row="0" Grid.ColumnSpan="2" />
<TextBox x:Name="Profit" Grid.Row="1" Grid.ColumnSpan="2" Margin="10,10,10,10"/>
<Button x:Name="Cancel" Content="Cancel" Width="60" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Right" Margin="5,0,5,0" IsCancel="true" Click="Cancel_Click"/>
<Button x:Name="Accept" Content="Accept" Width="60" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Right" Margin="5,0,5,0" IsDefault="true" Click="Accept_Click" />
</Grid>
</Window>

View File

@ -1,34 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace EliteBGS {
/// <summary>
/// Interaction logic for AdjustProfitWindow.xaml
/// </summary>
public partial class AdjustProfitWindow : Window {
public AdjustProfitWindow() {
InitializeComponent();
}
private void Cancel_Click(object sender, RoutedEventArgs e) {
DialogResult = false;
Close();
}
private void Accept_Click(object sender, RoutedEventArgs e) {
DialogResult = true;
Close();
}
}
}

View File

@ -1,69 +0,0 @@
using System.Text;
using System.Linq;
using EDJournal;
namespace EliteBGS.BGS {
public class BuyCargo : LogEntry {
public BuyCargo() { }
public BuyCargo(MarketBuyEntry e) {
Entries.Add(e);
}
public string Cargo {
get {
string cargo;
var sell = Entries.OfType<MarketBuyEntry>().First();
if (!string.IsNullOrEmpty(sell.TypeLocalised)) {
cargo = sell.TypeLocalised;
} else {
cargo = sell.Type;
if (cargo.Length >= 2) {
cargo = cargo[0].ToString().ToUpper() + cargo.Substring(1);
}
}
return cargo;
}
}
public long Amount {
get { return Entries.OfType<MarketBuyEntry>().Sum(x => x.Count); }
}
public override int CompareTo(LogEntry other) {
if (other == null || other.GetType() != typeof(BuyCargo)) {
return -1;
}
BuyCargo buycargo = other as BuyCargo;
if (buycargo.Cargo == Cargo &&
buycargo.System == System && buycargo.Faction == Faction) {
return 0;
}
return -1;
}
public override string ToString() {
StringBuilder builder = new StringBuilder();
if (Entries.Count <= 0) {
return builder.ToString();
}
builder.AppendFormat("Bought {0} {1} at the Commodity Market",
Amount,
Cargo
);
return builder.ToString().Trim();
}
/// <summary>
/// Selling resources to a market only helps the controlling faction
/// </summary>
public override bool OnlyControllingFaction => true;
}
}

View File

@ -4,38 +4,19 @@ using EDJournal;
namespace EliteBGS.BGS {
public class Cartographics : LogEntry {
public Cartographics(MultiSellExplorationDataEntry e) {
public Cartographics(MultiSellExplorationDataEntry e, string current_system, string current_station) {
Entries.Add(e);
System = current_system;
Station = current_station;
}
public Cartographics(SellExplorationDataEntry e) {
Entries.Add(e);
}
public override int CompareTo(LogEntry other) {
if (other == null || other.GetType() != typeof(Cartographics)) {
return -1;
}
Cartographics b = other as Cartographics;
if (b.System == System && b.Faction == Faction && b.Station == Station) {
return 0;
}
return -1;
}
public long TotalSum {
public int TotalSum {
get {
/* add multi sell and normal ones together */
long total =
Entries.OfType<MultiSellExplorationDataEntry>()
.Sum(x => x.TotalEarnings)
+
Entries.OfType<SellExplorationDataEntry>()
.Sum(x => x.TotalEarnings)
;
return total;
return (from entry in Entries
where entry.Is(Events.MultiSellExplorationData)
select (entry as MultiSellExplorationDataEntry).TotalEarnings)
.Sum()
;
}
}

View File

@ -6,13 +6,6 @@ namespace EliteBGS.BGS {
public string Type { get; set; }
public string Grade { get; set; }
public int Amount { get; set; }
public DateTime Completed { get; set; } = DateTime.UtcNow;
public override string CompletedAt {
get {
return Completed.ToString("dd.MM.yyyy HH:mm UTC");
}
}
public int CompareTo(object obj) {
if (obj.GetType() != typeof(CombatZone)) {

View File

@ -1,84 +1,5 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using EliteBGS.BGS.LogGenerator;
namespace EliteBGS.BGS {
public class DiscordLogGenerator {
protected List<LogFormatter> formatters = new List<LogFormatter>() {
new MissionFormat(),
new FailedMissionFormat(),
new MurderFormat(),
new VoucherFormat(),
new CombatZoneFormat(),
new KillBondsFormat(),
new CartographicsFormat(),
new MicroResourcesFormat(),
new MarketBuyFormat(),
new CargoSoldFormatter(),
new VistaGenomicsFormat(),
new SearchAndRescueFormat(),
};
protected virtual string GenerateHeader() {
return "";
}
protected virtual string GenerateFooter() {
return "\n";
}
protected virtual string GenerateObjectiveHeader(Objective objective) {
StringBuilder log = new StringBuilder();
log.AppendFormat("**Date:** {0}\n", DateTime.Now.ToString("dd/MM/yyyy"));
log.AppendFormat("**Location:** {0}\n", objective.ToLocationString());
log.AppendFormat("**Faction:** {0}\n", objective.Faction);
log.AppendLine("");
log.AppendLine("```");
return log.ToString();
}
protected virtual string GenerateObjectiveFooter(Objective objective) {
return "```\n";
}
public virtual string GenerateDiscordLog(Report report) {
StringBuilder log = new StringBuilder();
var objectives = report.Objectives
.Where(x => x.IsEnabled && x.LogEntries.Count() > 0)
.ToArray()
;
if (objectives.Count() <= 0) {
return "";
}
log.AppendFormat("{0}\n", GenerateHeader());
foreach (Objective objective in objectives) {
StringBuilder objlog = new StringBuilder();
log.AppendFormat("{0}\n", GenerateObjectiveHeader(objective));
foreach (LogFormatter formatter in formatters) {
string text = formatter.GenerateLog(objective);
text = text.Trim();
if (!string.IsNullOrEmpty(text)) {
objlog.AppendFormat("{0}\n\n", text);
}
}
log.AppendFormat("{0}\n", objlog.ToString().Trim());
log.AppendFormat("{0}\n", GenerateObjectiveFooter(objective));
}
log.AppendFormat("{0}\n", GenerateFooter());
return log.ToString().Trim();
}
namespace EliteBGS.BGS {
public interface IDiscordLogGenerator {
string GenerateDiscordLog(Report report);
}
}

View File

@ -1,68 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EDJournal;
namespace EliteBGS.BGS {
/// <summary>
/// 36 Lessons of Vivec, Lesson 36
/// </summary>
public class FoulMurder : LogEntry {
public FoulMurder (CommitCrimeEntry e) {
Entries.Add(e);
}
public string CrimeType {
get { return Entries.OfType<CommitCrimeEntry>().First().CrimeType; }
}
public long Bounties => Entries.OfType<CommitCrimeEntry>().Sum(x => x.Bounty);
public long Fines => Entries.OfType<CommitCrimeEntry>().Sum(x => x.Fine);
public override int CompareTo(LogEntry other) {
if (other == null || other.GetType() != typeof(FoulMurder)) {
return -1;
}
FoulMurder hortator = other as FoulMurder;
if (Faction == other.Faction && CrimeType == hortator.CrimeType) {
return 0;
}
return -1;
}
public override string ToString() {
StringBuilder builder = new StringBuilder();
string type;
if (CrimeType == CrimeTypes.Murder) {
if (Entries.Count > 1) {
type = "ships";
} else {
type = "ship";
}
} else {
if (Entries.Count > 1) {
type = "people";
} else {
type = "person";
}
}
builder.AppendFormat("Murdered {0} {1} of {2} (Bounties: {3}, Fines: {4})",
Entries.Count,
type,
Faction,
Credits.FormatCredits(Bounties),
Credits.FormatCredits(Fines)
);
return builder.ToString();
}
}
}

View File

@ -1,7 +1,218 @@
namespace EliteBGS.BGS {
public class GenericDiscordLog : DiscordLogGenerator {
public override string ToString() {
return "Generic Log";
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EDJournal;
namespace EliteBGS.BGS {
public class GenericDiscordLog : IDiscordLogGenerator {
private string FormatDate() {
DateTime today = DateTime.Now;
return today.ToShortDateString();
}
private string BuildCartoGraphics(Objective objective) {
var total = from entries in objective.LogEntries
where entries.GetType() == typeof(Cartographics)
select entries
;
var pages = total.Count();
var sum = total.Sum(x => (x as Cartographics).TotalSum);
if (pages <= 0 || sum <= 0) {
return "";
}
return string.Format("Sold {0} page(s) worth of universal cartographics\n" +
"(Total value: {1})\n", pages, Credits.FormatCredits(sum));
}
private string BuildCargoSold(Objective objective) {
StringBuilder builder = new StringBuilder();
SellCargo[] sold = objective.LogEntries
.OfType<SellCargo>()
.ToArray()
;
if (sold == null && sold.Length > 0) {
return builder.ToString();
}
foreach (SellCargo sell in sold) {
builder.AppendFormat("{0}\n", sell.ToString());
}
builder.AppendFormat("\n");
return builder.ToString();
}
private string BuildMicroResourcesSold(Objective objective) {
var total = from entries in objective.LogEntries
where entries.GetType() == typeof(SellMicroResources)
select entries
;
var sum = total.Sum(x => (x as SellMicroResources).TotalSum);
if (sum <= 0) {
return "";
}
return string.Format("Sold {0} worth of Micro Resources\n",
Credits.FormatCredits(sum));
}
private string BuildKillBonds(Objective objective) {
StringBuilder builder = new StringBuilder();
FactionKillBonds[] bonds = objective.LogEntries
.OfType<FactionKillBonds>()
.ToArray()
;
if (bonds == null || bonds.Length == 0) {
return builder.ToString();
}
foreach (FactionKillBonds bond in bonds) {
builder.AppendFormat("{0}\n", bond.ToString());
}
builder.AppendFormat("\n");
return builder.ToString();
}
private string BuildVouchers(Objective objective) {
StringBuilder builder = new StringBuilder();
var missions = from entries in objective.LogEntries
where entries.GetType() == typeof(Vouchers)
select entries
;
if (missions == null || missions.Count() <= 0) {
return "";
}
foreach (var mission in missions) {
var m = mission as Vouchers;
builder.AppendFormat("Handed in {0} vouchers for {1}\n", m.Type, m.Faction);
builder.AppendFormat("(Total value: {0})\n", Credits.FormatCredits(m.TotalSum));
builder.AppendFormat("\n");
}
return builder.ToString();
}
private string BuildMissionList(Objective objective) {
Dictionary<string, Dictionary<string, int>> collated = new Dictionary<string, Dictionary<string, int>>();
StringBuilder output = new StringBuilder();
int total_influence = 0;
var missions = from entries in objective.LogEntries
where entries.GetType() == typeof(MissionCompleted)
select entries
;
if (missions == null) {
return "";
}
foreach (MissionCompleted m in missions) {
if (!collated.ContainsKey(m.MissionName)) {
collated[m.MissionName] = new Dictionary<string, int>();
}
if (!collated[m.MissionName].ContainsKey(m.Influence)) {
collated[m.MissionName][m.Influence] = 0;
}
++collated[m.MissionName][m.Influence];
total_influence += m.Influence.Length;
}
foreach (var mission in collated) {
if (objective.Faction != null) {
output.AppendFormat("{0}\n", mission.Key);
} else {
output.AppendFormat("{0}\n", mission.Key);
}
output.Append("(");
foreach (var influence in mission.Value.OrderBy(x => x.Key.Length)) {
output.AppendFormat("Inf{0} x{1}, ", influence.Key, influence.Value);
}
output.Remove(output.Length - 2, 2); // remove last ", "
output.Append(")\n\n");
}
if (total_influence > 0) {
output.AppendFormat("Total Influence: {0}\n\n", total_influence);
}
return output.ToString();
}
private string BuildCombatZones(Objective objective) {
StringBuilder builder = new StringBuilder();
CombatZone[] zones = objective.LogEntries
.OfType<CombatZone>()
.ToArray()
;
if (zones == null || zones.Length == 0) {
return builder.ToString();
}
foreach (CombatZone zone in zones) {
builder.AppendFormat("{0}\n", zone.ToString());
}
builder.Append("\n");
return builder.ToString();
}
public string GenerateDiscordLog(Report report) {
StringBuilder log = new StringBuilder();
foreach (var objective in report.Objectives) {
if (objective.LogEntries.Count <= 0) {
continue;
}
log.AppendFormat("**Date:** {0}\n", FormatDate());
log.AppendFormat("**Location:** {0}\n", objective.ToShortString());
log.AppendFormat("**Faction:** {0}\n", objective.Faction);
log.Append("\n");
log.Append("```\n");
StringBuilder entries = new StringBuilder();
var missions = BuildMissionList(objective);
entries.Append(missions);
var vouchers = BuildVouchers(objective);
entries.Append(vouchers);
var zones = BuildCombatZones(objective);
entries.Append(zones);
var bonds = BuildKillBonds(objective);
entries.Append(bonds);
var carto = BuildCartoGraphics(objective);
entries.Append(carto);
var micro = BuildMicroResourcesSold(objective);
entries.Append(micro);
var sold = BuildCargoSold(objective);
entries.Append(sold);
log.Append(entries.ToString().Trim());
log.Append("\n```\n");
}
return log.ToString();
}
}
}

View File

@ -1,38 +0,0 @@
using System.Text;
using EDJournal;
namespace EliteBGS.BGS {
/// <summary>
/// This class is used when a completed mission gives influence to another
/// faction as well. This happens, for example, when you deliver cargo from one
/// faction to another. Both sometimes gain influence.
/// </summary>
public class InfluenceSupport : LogEntry {
public string Influence { get; set; }
public MissionCompletedEntry RelevantMission { get; set; }
public override string CompletedAt {
get {
return RelevantMission.Timestamp.ToString("dd.MM.yyyy hh:mm UTC");
}
}
public override string ToString() {
StringBuilder builder = new StringBuilder();
string missionname;
if (RelevantMission != null) {
missionname = RelevantMission.HumanReadableName;
} else {
missionname = "UNKNOWN MISSION";
}
builder.AppendFormat("Influence gained from \"{0}\": \"{1}\"",
missionname,
string.IsNullOrEmpty(Influence) ? "NONE" : Influence
);
return builder.ToString();
}
}
}

View File

@ -7,25 +7,6 @@ namespace EliteBGS.BGS {
public class LogEntry : IComparable<LogEntry> {
private List<Entry> entries = new List<Entry>();
public bool IsExpanded { get; set; }
public bool IsEnabled { get; set; } = true;
public virtual string CompletedAt {
get {
var items = Entries
.OrderBy(x => x.Timestamp)
.ToArray()
;
if (items == null || items.Length == 0) {
return "Unknown";
}
Entry last = items.Last();
return last.Timestamp.ToString("dd.MM.yyyy HH:mm UTC");
}
}
/// <summary>
/// Controlling faction of the station this entry was made/turned into.
/// </summary>
@ -34,7 +15,6 @@ namespace EliteBGS.BGS {
public List<Entry> Entries => entries;
public string Station { get; set; }
public string System { get; set; }
public ulong SystemAddress { get; set; }
public string Faction { get; set; }
/// <summary>
/// Whether this entry was manually added. Manually added entries are not deleted
@ -52,7 +32,5 @@ namespace EliteBGS.BGS {
public virtual int CompareTo(LogEntry other) {
throw new NotImplementedException("not implemented");
}
public string Name => ToString();
}
}

View File

@ -1,59 +0,0 @@
using System.Linq;
using System.Text;
using EDJournal;
namespace EliteBGS.BGS.LogGenerator {
public class CargoSoldFormatter : LogFormatter {
public string GenerateLog(Objective objective) {
StringBuilder builder = new StringBuilder();
SellCargo[] sold = objective.LogEntries
.OfType<SellCargo>()
.Where(x => x.IsEnabled)
.ToArray()
;
if (sold == null || sold.Length <= 0) {
return "";
}
// This groups everything together by cargo sold, and then by market sold to.
// Dictionary<string Cargo, Dictionary<string Market, { Market, Amount, Profit }> >
var entries = sold.GroupBy(x => x.Cargo,
(key, cargos) => new {
Cargo = key,
Markets = cargos.GroupBy(y => y.Market,
(market, markets) => new {
Market = market,
Amount = markets.Sum(x => x.Amount),
Profit = markets.Sum(x => x.Profit)
})
}
)
;
foreach (var cargo in entries) {
foreach (var market in cargo.Markets) {
builder.AppendFormat("Sold {0} {1} to the {2}",
market.Amount,
cargo.Cargo,
market.Market
);
if (market.Profit != 0) {
builder.AppendFormat(" ({0} {1})",
Credits.FormatCredits(market.Profit),
market.Profit < 0 ? "loss" : "profit"
);
}
builder.Append("\n");
}
}
builder.AppendFormat("\n");
return builder.ToString();
}
}
}

View File

@ -1,24 +0,0 @@
using System.Linq;
using EDJournal;
namespace EliteBGS.BGS.LogGenerator {
public class CartographicsFormat : LogFormatter {
public string GenerateLog(Objective objective) {
var total = objective.LogEntries
.OfType<Cartographics>()
.Where(x => x.IsEnabled)
;
var pages = total.Count();
long sum = total.Sum(x => x.TotalSum);
if (pages <= 0 || sum <= 0) {
return "";
}
return string.Format("Sold {0} page(s) worth of universal cartographics\n" +
"(Total value: {1})\n\n",
pages, Credits.FormatCredits(sum)
);
}
}
}

View File

@ -1,4 +0,0 @@
namespace EliteBGS.BGS.LogGenerator {
class CombatZoneFormat : GenericFormat<CombatZone> {
}
}

View File

@ -1,32 +0,0 @@
using System.Linq;
using System.Text;
using EDJournal;
namespace EliteBGS.BGS.LogGenerator {
public class FailedMissionFormat : LogFormatter {
public string GenerateLog(Objective objective) {
MissionFailed[] missions = objective
.LogEntries
.OfType<MissionFailed>()
.Where(x => x.IsEnabled)
.ToArray()
;
StringBuilder builder = new StringBuilder();
if (missions.Length <= 0) {
return "";
}
foreach (MissionFailed failed in missions) {
MissionFailedEntry f = failed.Failed;
builder.AppendFormat("Failed {0} mission(s) \"{1}\" targeting {2}\n",
failed.Amount,
f.HumanReadableName == null ? f.Name : f.HumanReadableName,
failed.Faction
);
}
return builder.ToString().Trim();
}
}
}

View File

@ -1,27 +0,0 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EliteBGS.BGS.LogGenerator {
/// <summary>
/// Creates a generic log block, that is simply all LogEntries of type "Type"
/// per line
/// </summary>
/// <typeparam name="Type">LogEntry subtype to work on</typeparam>
public class GenericFormat<Type> : LogFormatter where Type : LogEntry {
public string GenerateLog(Objective objective) {
IEnumerable<Type> logs = objective.LogEntries.OfType<Type>().Where(x => x.IsEnabled);
StringBuilder builder = new StringBuilder();
if (logs == null || logs.Count() <= 0) {
return "";
}
foreach (Type log in logs) {
builder.AppendLine(log.ToString());
}
return builder.ToString();
}
}
}

View File

@ -1,4 +0,0 @@
namespace EliteBGS.BGS.LogGenerator {
public class KillBondsFormat : GenericFormat<FactionKillBonds> {
}
}

View File

@ -1,11 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EliteBGS.BGS.LogGenerator {
public interface LogFormatter {
string GenerateLog(Objective objective);
}
}

View File

@ -1,4 +0,0 @@
namespace EliteBGS.BGS.LogGenerator {
public class MarketBuyFormat : GenericFormat<BuyCargo> {
}
}

View File

@ -1,21 +0,0 @@
using System.Linq;
using EDJournal;
namespace EliteBGS.BGS.LogGenerator {
public class MicroResourcesFormat : LogFormatter {
public string GenerateLog(Objective objective) {
var total = objective.LogEntries
.OfType<SellMicroResources>()
.Where(x => x.IsEnabled)
;
long sum = total.Sum(x => x.TotalSum);
if (total == null || total.Count() <= 0 || sum <= 0) {
return "";
}
return string.Format("Sold {0} worth of Micro Resources\n",
Credits.FormatCredits(sum));
}
}
}

View File

@ -1,66 +0,0 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EliteBGS.BGS.LogGenerator {
public class MissionFormat : LogFormatter {
public string GenerateLog(Objective objective) {
Dictionary<string, Dictionary<string, int>> collated = new Dictionary<string, Dictionary<string, int>>();
StringBuilder output = new StringBuilder();
int total_influence = 0;
var missions = objective.LogEntries
.OfType<MissionCompleted>()
.Where(x => x.IsEnabled)
;
if (missions == null) {
return "";
}
foreach (MissionCompleted m in missions) {
if (!collated.ContainsKey(m.MissionName)) {
collated[m.MissionName] = new Dictionary<string, int>();
}
if (!collated[m.MissionName].ContainsKey(m.Influence)) {
collated[m.MissionName][m.Influence] = 0;
}
++collated[m.MissionName][m.Influence];
total_influence += m.Influence.Length;
}
foreach (var mission in collated) {
if (objective.Faction != null) {
output.AppendFormat("{0} for {1}\n", mission.Key, objective.Faction);
} else {
output.AppendFormat("{0}\n", mission.Key);
}
output.Append("(");
foreach (var influence in mission.Value.OrderBy(x => x.Key.Length)) {
output.AppendFormat("Inf{0} x{1}, ", influence.Key, influence.Value);
}
output.Remove(output.Length - 2, 2); // remove last ", "
output.Append(")\n\n");
}
var support = objective.LogEntries.OfType<InfluenceSupport>();
foreach (InfluenceSupport inf in support) {
output.Append(inf.ToString());
output.Append("\n");
total_influence += inf.Influence.Length;
}
if (support.Count() > 0) {
output.Append("\n");
}
if (total_influence > 0) {
output.AppendFormat("Total Influence: {0}", total_influence);
}
return output.ToString().Trim();
}
}
}

View File

@ -1,4 +0,0 @@
namespace EliteBGS.BGS.LogGenerator {
public class MurderFormat : GenericFormat<FoulMurder> {
}
}

View File

@ -1,4 +0,0 @@
namespace EliteBGS.BGS.LogGenerator {
public class SearchAndRescueFormat : GenericFormat<SearchAndRescue> {
}
}

View File

@ -1,4 +0,0 @@
namespace EliteBGS.BGS.LogGenerator {
class VistaGenomicsFormat : GenericFormat<OrganicData> {
}
}

View File

@ -1,27 +0,0 @@
using System.Linq;
using System.Text;
using EDJournal;
namespace EliteBGS.BGS.LogGenerator {
public class VoucherFormat : LogFormatter {
public string GenerateLog(Objective objective) {
StringBuilder builder = new StringBuilder();
var missions = objective.LogEntries
.OfType<Vouchers>()
.Where(x => x.IsEnabled)
;
if (missions == null || missions.Count() <= 0) {
return "";
}
foreach (var m in missions) {
builder.AppendFormat("Handed in {0} vouchers for {1}\n", m.Type, m.Faction);
builder.AppendFormat("(Total value: {0})\n", Credits.FormatCredits(m.TotalSum));
builder.AppendFormat("\n");
}
return builder.ToString().Trim();
}
}
}

View File

@ -3,31 +3,19 @@ using EDJournal;
namespace EliteBGS.BGS {
public class MissionCompleted : LogEntry {
public MissionCompleted(MissionCompletedEntry e) {
Entries.Add(e);
public MissionCompleted(MissionCompletedEntry e, string system, string station) {
this.Entries.Add(e);
this.Faction = e.JSON.GetValue("Faction").ToString();
this.System = system;
this.Station = station;
}
public string MissionName {
get {
MissionCompletedEntry c = Entries[0] as MissionCompletedEntry;
if (string.IsNullOrEmpty(c.HumanReadableName)) {
return c.Name;
} else {
return c.HumanReadableName;
}
}
get { return (Entries[0] as MissionCompletedEntry).HumanReadableName; }
}
public string Influence {
get {
MissionCompletedEntry e = (Entries[0] as MissionCompletedEntry);
if (SystemAddress == 0) {
return e.GetInfluenceForFaction(Faction);
} else {
return e.GetInfluenceForFaction(Faction, SystemAddress);
}
}
get { return (Entries[0] as MissionCompletedEntry).GetInfluenceForFaction(Faction); }
}
public override string ToString() {
@ -36,9 +24,9 @@ namespace EliteBGS.BGS {
}
StringBuilder builder = new StringBuilder();
var entry = Entries[0] as MissionCompletedEntry;
var influence = entry.GetInfluenceForFaction(Faction, SystemAddress);
var influence = entry.GetInfluenceForFaction(Faction);
builder.AppendFormat("{0}", MissionName);
builder.AppendFormat("{0}", entry.HumanReadableName);
if (influence != "") {
builder.AppendFormat(", Influence: {0}", influence);
}

View File

@ -1,50 +0,0 @@
using System.Text;
using EDJournal;
namespace EliteBGS.BGS {
public class MissionFailed : LogEntry {
public MissionFailedEntry Failed { get; set; }
public MissionAcceptedEntry Accepted { get; set; }
public MissionFailed(MissionAcceptedEntry accepted) {
Accepted = accepted;
Faction = accepted.Faction;
}
public override int CompareTo(LogEntry other) {
if (other.GetType() != typeof(MissionFailed)) {
return -1;
}
MissionFailed failed = other as MissionFailed;
/* if it is the same mission name, the same faction and the same system,
* collate mission failures together */
if (failed.Failed.HumanReadableName == Failed.HumanReadableName &&
failed.Faction == Faction &&
failed.System == System) {
return 0;
}
return -1;
}
// +1 since the other entries are just copies of the one we have in our properties
public int Amount => Entries.Count + 1;
public override string ToString() {
StringBuilder builder = new StringBuilder();
if (Failed == null || Accepted == null) {
return "";
}
builder.AppendFormat("{0}x Mission failed: \"{1}\"",
Amount,
Failed.HumanReadableName != null ? Failed.HumanReadableName : Failed.Name
);
return builder.ToString();
}
}
}

View File

@ -1,12 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
using EDJournal;
namespace EliteBGS.BGS {
public class NonaDiscordLog : DiscordLogGenerator {
public class NonaDiscordLog : IDiscordLogGenerator {
private string FormatDate() {
CultureInfo cultureInfo = CultureInfo.InvariantCulture;
StringBuilder date = new StringBuilder();
DateTime today = DateTime.Now;
string suffix;
@ -15,45 +15,219 @@ namespace EliteBGS.BGS {
suffix = "st";
} else if (today.Day == 2 || today.Day == 22) {
suffix = "nd";
} else if (today.Day == 23) {
suffix = "rd";
} else {
suffix = "th";
}
date.AppendFormat("{0} {1}{2}, {3}",
cultureInfo.DateTimeFormat.GetMonthName(today.Month),
today.Day, suffix,
today.ToString("MMMM"), today.Day, suffix,
today.Year + EliteDangerous.YearOffset
);
return date.ToString();
}
protected override string GenerateObjectiveHeader(Objective objective) {
private string BuildCartoGraphics(Objective objective) {
var total = from entries in objective.LogEntries
where entries.GetType() == typeof(Cartographics)
select entries
;
var pages = total.Count();
var sum = total.Sum(x => (x as Cartographics).TotalSum);
if (pages <= 0 || sum <= 0) {
return "";
}
return string.Format("Sold {0} page(s) worth of universal cartographics\n" +
"(Total value: {1})\n", pages, Credits.FormatCredits(sum));
}
private string BuildCargoSold(Objective objective) {
StringBuilder builder = new StringBuilder();
SellCargo[] sold = objective.LogEntries
.OfType<SellCargo>()
.ToArray()
;
if (sold == null && sold.Length > 0) {
return builder.ToString();
}
foreach (SellCargo sell in sold) {
builder.AppendFormat("{0}\n", sell.ToString());
}
builder.AppendFormat("\n");
return builder.ToString();
}
private string BuildMicroResourcesSold(Objective objective) {
var total = from entries in objective.LogEntries
where entries.GetType() == typeof(SellMicroResources)
select entries
;
var sum = total.Sum(x => (x as SellMicroResources).TotalSum);
if (sum <= 0) {
return "";
}
return string.Format("Sold {0} worth of Micro Resources\n",
Credits.FormatCredits(sum));
}
private string BuildKillBonds(Objective objective) {
StringBuilder builder = new StringBuilder();
FactionKillBonds[] bonds = objective.LogEntries
.OfType<FactionKillBonds>()
.ToArray()
;
if (bonds == null || bonds.Length == 0) {
return builder.ToString();
}
foreach (FactionKillBonds bond in bonds) {
builder.AppendFormat("{0}\n", bond.ToString());
}
builder.AppendFormat("\n");
return builder.ToString();
}
private string BuildVouchers(Objective objective) {
StringBuilder builder = new StringBuilder();
var missions = from entries in objective.LogEntries
where entries.GetType() == typeof(Vouchers)
select entries
;
if (missions == null || missions.Count() <= 0) {
return "";
}
foreach (var mission in missions) {
var m = mission as Vouchers;
builder.AppendFormat("Handed in {0} vouchers for {1}\n", m.Type, m.Faction);
builder.AppendFormat("(Total value: {0})\n", Credits.FormatCredits(m.TotalSum));
builder.AppendFormat("\n");
}
return builder.ToString();
}
private string BuildMissionList(Objective objective) {
Dictionary<string, Dictionary<string, int>> collated = new Dictionary<string, Dictionary<string, int>>();
StringBuilder output = new StringBuilder();
int total_influence = 0;
var missions = from entries in objective.LogEntries
where entries.GetType() == typeof(MissionCompleted)
select entries
;
if (missions == null) {
return "";
}
foreach (MissionCompleted m in missions) {
if (!collated.ContainsKey(m.MissionName)) {
collated[m.MissionName] = new Dictionary<string, int>();
}
if (!collated[m.MissionName].ContainsKey(m.Influence)) {
collated[m.MissionName][m.Influence] = 0;
}
++collated[m.MissionName][m.Influence];
total_influence += m.Influence.Length;
}
foreach (var mission in collated) {
if (objective.Faction != null) {
output.AppendFormat("{0} for {1}\n", mission.Key, objective.Faction);
} else {
output.AppendFormat("{0}\n", mission.Key);
}
output.Append("(");
foreach (var influence in mission.Value.OrderBy(x => x.Key.Length)) {
output.AppendFormat("Inf{0} x{1}, ", influence.Key, influence.Value);
}
output.Remove(output.Length - 2, 2); // remove last ", "
output.Append(")\n\n");
}
if (total_influence > 0) {
output.AppendFormat("Total Influence: {0}\n\n", total_influence);
}
return output.ToString();
}
private string BuildCombatZones(Objective objective) {
StringBuilder builder = new StringBuilder();
CombatZone[] zones = objective.LogEntries
.OfType<CombatZone>()
.ToArray()
;
if (zones == null || zones.Length == 0) {
return builder.ToString();
}
foreach (CombatZone zone in zones) {
builder.AppendFormat("{0}\n", zone.ToString());
}
builder.Append("\n");
return builder.ToString();
}
public string GenerateDiscordLog(Report report) {
StringBuilder log = new StringBuilder();
log.AppendFormat(":globe_with_meridians: `Location:` {0}\n", objective.ToLocationString());
log.Append(":clipboard: `Conducted:`\n");
log.Append("```");
log.AppendFormat(":clock2: `Date:` {0}\n", FormatDate());
foreach (var objective in report.Objectives) {
if (objective.LogEntries.Count <= 0) {
continue;
}
log.AppendFormat(":globe_with_meridians: `Location:` {0}\n", objective.ToShortString());
log.Append(":clipboard: `Conducted:`\n");
log.Append("```\n");
StringBuilder entries = new StringBuilder();
var missions = BuildMissionList(objective);
entries.Append(missions);
var vouchers = BuildVouchers(objective);
entries.Append(vouchers);
var zones = BuildCombatZones(objective);
entries.Append(zones);
var bonds = BuildKillBonds(objective);
entries.Append(bonds);
var carto = BuildCartoGraphics(objective);
entries.Append(carto);
var micro = BuildMicroResourcesSold(objective);
entries.Append(micro);
var sold = BuildCargoSold(objective);
entries.Append(sold);
log.Append(entries.ToString().Trim());
log.Append("\n```\n");
}
return log.ToString();
}
protected override string GenerateObjectiveFooter(Objective objective) {
return "```";
}
protected override string GenerateHeader() {
return string.Format(":clock2: `Date:` {0}", FormatDate());
}
protected override string GenerateFooter() {
return "";
}
public override string ToString() {
return "Nova Navy Log";
}
}
}

View File

@ -5,34 +5,24 @@ using Newtonsoft.Json;
namespace EliteBGS.BGS {
public class Objective : IComparable<Objective> {
[JsonIgnore]
public bool IsEnabled { get; set; }
private string system;
private string station;
private string faction;
[JsonIgnore]
public List<LogEntry> Children { get; } = new List<LogEntry>();
[JsonIgnore]
public string Name {
get { return this.ToString(); }
}
[JsonIgnore]
public bool IsExpanded { get; set; }
private List<LogEntry> entries = new List<LogEntry>();
[JsonIgnore]
public List<LogEntry> LogEntries {
get => Children;
get => entries;
set => entries = value;
}
public void Clear() {
if (LogEntries == null) {
if (entries == null) {
return;
}
LogEntries.RemoveAll(x => !x.ManuallyAdded);
entries.RemoveAll(x => !x.ManuallyAdded);
}
public bool ManuallyAdded { get; set; }
public int Matches(LogEntry e) {
int match_count = 0;
@ -42,26 +32,23 @@ namespace EliteBGS.BGS {
}
}
if (e.Faction != null && Faction != null) {
if (string.Compare(e.Faction, Faction, true) != 0) {
/* if we have a faction, and it doesn't match we don't care.
* faction is the most important comparision, so if it doesn't match
* it is not the right objective
*/
return 0;
} else {
if (e.System != null && system != null) {
if (string.Compare(e.System, system, true) == 0) {
++match_count;
}
}
/* system and station only add to the match strength though */
if (e.System != null && System != null) {
if (string.Compare(e.System, System, true) == 0) {
if (e.Station != null && station != null) {
if (string.Compare(e.Station, station, true) == 0) {
++match_count;
}
}
/* station does not matter */
if (e.Faction != null && faction != null) {
if (string.Compare(e.Faction, faction, true) == 0) {
++match_count;
}
}
return match_count;
}
@ -74,36 +61,51 @@ namespace EliteBGS.BGS {
public bool IsValid => System != null && Faction != null;
public string System { get; set; }
public string System {
get { return system; }
set { system = value; }
}
public string Station { get; set; }
public string Station {
get { return station; }
set { station = value; }
}
public string Faction { get; set; }
public string Faction {
get { return faction; }
set { faction = value; }
}
public override string ToString() {
StringBuilder str = new StringBuilder();
if (!string.IsNullOrEmpty(System)) {
str.AppendFormat("System: {0}", System);
if (system != null && system.Length > 0) {
str.AppendFormat("System: {0}", system);
}
if (!string.IsNullOrEmpty(Faction)) {
if (station != null && station.Length > 0) {
if (str.Length > 0) {
str.Append(", ");
}
str.AppendFormat("Faction: {0}", Faction);
str.AppendFormat("Station: {0}", station);
}
if (faction != null && faction.Length > 0) {
if (str.Length > 0) {
str.Append(", ");
}
str.AppendFormat("Faction: {0}", faction);
}
return str.ToString();
}
public string ToLocationString() {
public string ToShortString() {
StringBuilder str = new StringBuilder();
if (!string.IsNullOrEmpty(System)) {
str.AppendFormat("{0}", System);
if (system != null && system.Length > 0) {
str.AppendFormat("{0}", system);
}
if (!string.IsNullOrEmpty(Station)) {
if (station != null && station.Length > 0) {
if (str.Length > 0) {
str.Append(", ");
}
str.AppendFormat("{0}", Station);
str.AppendFormat("{0}", station);
}
return str.ToString();
}

View File

@ -1,45 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EDJournal;
namespace EliteBGS.BGS {
public class OrganicData : LogEntry {
public OrganicData(SellOrganicDataEntry e) {
Entries.Add(e);
}
public long TotalValue {
get {
return Entries.OfType<SellOrganicDataEntry>().Sum(x => x.TotalValue);
}
}
public override int CompareTo(LogEntry other) {
if (other == null || other.GetType() != typeof(OrganicData)) {
return -1;
}
if (other.Faction == Faction &&
other.System == System &&
other.Station == Station) {
return 0;
}
return -1;
}
public override string ToString() {
return string.Format("Sold {0} worth of organic data to Vista Genomics",
Credits.FormatCredits(TotalValue)
);
}
/* Selling organic data only helps the controlling faction, just like
* selling cartographic data.
*/
public override bool OnlyControllingFaction => true;
}
}

View File

@ -28,209 +28,50 @@ namespace EliteBGS.BGS {
return added;
}
public static bool IsRelevant(Entry e) {
return e.Is(Events.CommitCrime) ||
private bool IsRelevant(Entry e) {
return e.Is(Events.MissionCompleted) ||
e.Is(Events.Docked) ||
e.Is(Events.FactionKillBond) ||
e.Is(Events.FSDJump) ||
e.Is(Events.Location) ||
e.Is(Events.MarketBuy) ||
e.Is(Events.MarketSell) ||
e.Is(Events.MissionAccepted) ||
e.Is(Events.MissionFailed) ||
e.Is(Events.MultiSellExplorationData) ||
e.Is(Events.RedeemVoucher) ||
e.Is(Events.SearchAndRescue) ||
e.Is(Events.SellExplorationData) ||
e.Is(Events.SellMicroResources) ||
e.Is(Events.SellOrganicData) ||
e.Is(Events.ShipTargeted) ||
e.Is(Events.MissionCompleted)
e.Is(Events.RedeemVoucher) ||
e.Is(Events.FactionKillBond) ||
e.Is(Events.MarketSell)
;
}
public void Scan(PlayerJournal journal, DateTime start, DateTime end, bool CollateEntries = true) {
/* Log files only get rotated if you restart the game client. This means that there might
* be - say - entries from the 4th of May in the file with a timestamp of 3rd of May. This
* happens if you happen to play a session late into the night.
* At first I tried extracting the first and last line of a file to see the date range, but
* if you have a lot of files this becomes quite slow, and quite the memory hog (as journal
* files have to be read in their entirety to check this). So we assume that you can't play
* three days straight, and keep the code fast.
*/
DateTime actualstart = start.AddDays(-3);
List<Entry> entries = journal.Files
.Where(f => f.NormalisedDateTime >= actualstart && f.NormalisedDateTime <= end)
.SelectMany(e => e.Entries)
.ToList()
;
// Now further sort the list down to entries that are actually within the given datetime
// Note that entry datetimes are not normalised, so we have to sort until end + 1 day
DateTime actualend = end.AddDays(1);
entries = entries
.Where(e => e.Timestamp >= start && e.Timestamp < actualend)
.ToList()
;
Scan(entries, CollateEntries);
}
public void Scan(List<Entry> entries, bool CollateEntries = true) {
if (entries.Count <= 0) {
return;
}
List<Entry> relevant = entries
.Where(x => IsRelevant(x))
.ToList()
;
Dictionary<ulong, MissionAcceptedEntry> acceptedMissions = new Dictionary<ulong, MissionAcceptedEntry>();
Dictionary<string, long> buyCost = new Dictionary<string, long>();
Dictionary<ulong, string> systems = new Dictionary<ulong, string>();
Dictionary<string, string> npcfactions = new Dictionary<string, string>();
Dictionary<string, List<Faction>> system_factions = new Dictionary<string, List<Faction>>();
// A dictionary resolving to a station at which each mission was accepted
Dictionary<ulong, string> acceptedStations = new Dictionary<ulong, string>();
// A dictionary resolving to a system at which each mission was accepted
Dictionary<ulong, ulong> acceptedSystems = new Dictionary<ulong, ulong>();
public void Scan(PlayerJournal journal, DateTime start, DateTime end) {
var entries = from file in journal.Files
where file.NormalisedTimestamp >= start && file.NormalisedTimestamp <= end
select file.Entries
;
var relevant = from log in entries.SelectMany(array => array)
where IsRelevant(log)
select log
;
string current_system = null;
ulong current_system_address = 0;
string current_station = null;
string controlling_faction = null;
objectives.ForEach(x => x.Clear());
foreach (Entry e in relevant) {
List<LogEntry> results = new List<LogEntry>();
foreach (var e in relevant) {
LogEntry entry = null;
bool collate = false;
if (e.Is(Events.Docked)) {
DockedEntry docked = e as DockedEntry;
/* gleem the current station from this message
*/
current_station = docked.StationName;
current_system = docked.StarSystem;
controlling_faction = docked.StationFaction;
current_system_address = docked.SystemAddress;
if (!systems.ContainsKey(docked.SystemAddress)) {
systems.Add(docked.SystemAddress, docked.StarSystem);
}
current_station = (e as DockedEntry).StationName;
} else if (e.Is(Events.FSDJump)) {
/* Gleem current system and controlling faction from this message.
*/
FSDJumpEntry fsd = e as FSDJumpEntry;
current_system_address = fsd.SystemAddress;
current_system = fsd.StarSystem;
controlling_faction = fsd.SystemFaction;
if (!systems.ContainsKey(fsd.SystemAddress)) {
systems.Add(fsd.SystemAddress, fsd.StarSystem);
}
if (!system_factions.ContainsKey(fsd.StarSystem) &&
fsd.SystemFactions.Count > 0) {
system_factions[fsd.StarSystem] = fsd.SystemFactions;
}
} else if (e.Is(Events.Location)) {
/* Get current system, faction name and station from Location message
*/
LocationEntry location = e as LocationEntry;
current_system = location.StarSystem;
current_system_address = location.SystemAddress;
if (!systems.ContainsKey(location.SystemAddress)) {
systems.Add(location.SystemAddress, location.StarSystem);
}
if (!string.IsNullOrEmpty(location.SystemFaction)) {
controlling_faction = location.SystemFaction;
}
if (!string.IsNullOrEmpty(location.StationName)) {
current_station = location.StationName;
}
if (!system_factions.ContainsKey(location.StarSystem) &&
location.SystemFactions.Count > 0) {
system_factions[location.StarSystem] = location.SystemFactions;
}
} else if (e.Is(Events.ShipTargeted)) {
ShipTargetedEntry targeted = e as ShipTargetedEntry;
if (string.IsNullOrEmpty(targeted.PilotNameLocalised) ||
string.IsNullOrEmpty(targeted.Faction)) {
continue;
}
npcfactions[targeted.PilotNameLocalised] = targeted.Faction;
} else if (e.Is(Events.CommitCrime)) {
CommitCrimeEntry crime = e as CommitCrimeEntry;
string faction = crime.Faction;
if (!crime.IsMurder) {
/* we don't care about anything but murder for now */
continue;
}
/* use localised victim name if we have it, otherwise use normal name */
string victim = crime.VictimLocalised;
if (string.IsNullOrEmpty(victim)) {
victim = crime.Victim;
}
if (!npcfactions.ContainsKey(victim)) {
/* The faction in the crime report is the faction that issues the bounty,
* and not the faction of the victim.
*/
OnLog?.Invoke(string.Format(
"No faction found for victim \"{0}\", using faction that issued the bounty instead.",
victim, crime.Faction
));
} else {
faction = npcfactions[victim];
}
results.Add(new FoulMurder(crime) {
System = current_system,
Faction = faction,
});
collate = CollateEntries;
current_system = (e as FSDJumpEntry).StarSystem;
controlling_faction = (e as FSDJumpEntry).SystemFaction;
} else if (e.Is(Events.MissionCompleted)) {
MissionCompletedEntry completed = e as MissionCompletedEntry;
MissionAcceptedEntry accepted = null;
MissionCompleted main_mission = null;
ulong accepted_address;
string accepted_system;
string target_faction_name = completed.TargetFaction;
string source_faction_name = completed.Faction;
if (!acceptedMissions.TryGetValue(completed.MissionID, out accepted)) {
OnLog?.Invoke(string.Format(
"Unable to find mission acceptance for mission \"{0}\". " +
"Please extend range to include the mission acceptance.", completed.HumanReadableName
));
continue;
}
if (!acceptedSystems.TryGetValue(completed.MissionID, out accepted_address)) {
OnLog?.Invoke(string.Format(
"Unable to figure out in which system mission \"{0}\" was accepted.", completed.HumanReadableName
));
continue;
}
if (!systems.TryGetValue(accepted_address, out accepted_system)) {
OnLog?.Invoke(string.Format(
"Unable to figure out in which system mission \"{0}\" was accepted.", completed.HumanReadableName
));
continue;
}
var completed = e as MissionCompletedEntry;
entry = new MissionCompleted(completed, current_system, current_station);
if (completed.HumanReadableNameWasGenerated) {
/* If the human readable name was generated, we send a log message. Because the
* generated names all sort of suck, we should have more human readable names in
@ -240,330 +81,80 @@ namespace EliteBGS.BGS {
completed.Name +
"\" was generated, please report this.");
}
foreach (var other in completed.Influences) {
string faction = other.Key;
if (string.IsNullOrEmpty(faction)) {
OnLog?.Invoke(string.Format(
"Mission \"{0}\" has empty faction name in influence block, "+
"so this influence support was ignored. " +
"Please check the README on why this happens.", completed.HumanReadableName)
);
continue;
}
/* Now comes the fun part. Sometimes the influence list is empty for a faction.
* This happens if the faction in question
*/
if (other.Value.Count() == 0) {
OnLog?.Invoke(string.Format(
"Mission \"{0}\" gave no influence to \"{1}\", so we assume this is because the " +
"faction is in a conflict and cannot gain influence right now. " +
"If this assessment is wrong, just remove the entry from the objective list.",
completed.HumanReadableName, faction
));
if (string.Compare(target_faction_name, faction, true) == 0) {
/* here we assume that if the faction in question is the target faction,
* that we gave said target faction no influence in the target system, aka
* current system
*/
other.Value.Add(current_system_address, "");
OnLog?.Invoke(string.Format(
"Mission \"{0}\" gave no influence to \"{1}\". Since \"{1}\" is the target faction " +
"of the mission, we assume the influence was gained in \"{2}\". " +
"Please remove the entry if this assumption is wrong.",
completed.HumanReadableName, faction, current_system
));
} else if (string.Compare(source_faction_name, faction, true) == 0) {
/* source faction of the mission is not getting any influence. This could be because
* the source faction is in an election state in its home system and cannot gain any
* influence. It may also very well be that the source and target faction are the same
* since the faction is present in both target and source system. In which case we add
* both and hope for the best.
*/
other.Value.Add(accepted_address, "");
OnLog?.Invoke(string.Format(
"Mission \"{0}\" gave no influence to \"{1}\". Since \"{1}\" is the source faction " +
"of the mission, we assume the influence was gained in \"{2}\". " +
"Please remove the entry if this assumption is wrong.",
completed.HumanReadableName, faction, accepted_system
));
/* check if source/target faction are equal, in which case we also need an entry
* for the target system. As said factions can be present in two systems, and can
* give missions that target each other.
*/
if (string.Compare(source_faction_name, target_faction_name, true) == 0) {
other.Value.Add(current_system_address, "");
OnLog?.Invoke(string.Format(
"Mission \"{0}\" gave no influence to \"{1}\". Since \"{1}\" is the source and target faction " +
"of the mission, we assume the influence was also gained in target system \"{2}\". " +
"Please remove the entry if this assumption is wrong.",
completed.HumanReadableName, faction, current_system
));
}
}
}
foreach (var influences in other.Value) {
ulong system_address = influences.Key;
string system, accepted_station;
if (!systems.TryGetValue(system_address, out system)) {
OnLog?.Invoke(string.Format(
"Unknown system \"{0}\" unable to assign that mission a target.", system_address
));
continue;
}
if (!acceptedStations.TryGetValue(completed.MissionID, out accepted_station)) {
OnLog?.Invoke(string.Format(
"Unable to figure out in which station mission \"{0}\" was accepted.", completed.HumanReadableName
));
continue;
}
if (faction.Equals(source_faction_name) && system_address == accepted_address) {
/* This is the influence block for the origin of the mission.
*/
main_mission = new MissionCompleted(completed) {
System = accepted_system,
Faction = source_faction_name,
SystemAddress = accepted_address,
Station = accepted_station,
};
results.Add(main_mission);
} else if (!faction.Equals(source_faction_name) ||
(faction.Equals(source_faction_name) && system_address != accepted_address)) {
/* This block is for secondary factions (first if), or if the secondary faction
* is the same as the mission giver, but in another system (second if).
*/
results.Add(new InfluenceSupport() {
Faction = faction,
Influence = influences.Value,
System = system,
SystemAddress = system_address,
RelevantMission = completed
});
}
}
}
} else if (e.Is(Events.MissionAccepted)) {
MissionAcceptedEntry accepted = e as MissionAcceptedEntry;
ulong id = accepted.MissionID;
if (!acceptedMissions.ContainsKey(id)) {
acceptedMissions[id] = accepted;
}
if (!acceptedStations.ContainsKey(id)) {
acceptedStations[id] = current_station;
}
if (!acceptedSystems.ContainsKey(id)) {
acceptedSystems[id] = current_system_address;
}
} else if (e.Is(Events.MissionFailed)) {
MissionFailedEntry failed = e as MissionFailedEntry;
MissionAcceptedEntry accepted = null;
ulong accepted_address = 0;
string accepted_system;
string accepted_station;
if (!acceptedMissions.TryGetValue(failed.MissionID, out accepted)) {
OnLog?.Invoke("A mission failed which wasn't accepted in the given time frame. " +
"Please adjust start date to when the mission was accepted to include it in the list.");
continue;
}
if (!acceptedSystems.TryGetValue(failed.MissionID, out accepted_address)) {
OnLog?.Invoke(string.Format(
"Unable to figure out in which system mission \"{0}\" was accepted.", accepted.Name
));
continue;
}
if (!systems.TryGetValue(accepted_address, out accepted_system)) {
OnLog?.Invoke(string.Format(
"Unable to figure out in which system mission \"{0}\" was accepted.", accepted.Name
));
continue;
}
if (!acceptedStations.TryGetValue(failed.MissionID, out accepted_station)) {
OnLog?.Invoke(string.Format(
"Unable to figure out in which station mission \"{0}\" was accepted.", accepted.Name
));
continue;
}
results.Add(new MissionFailed(accepted) {
Failed = failed,
System = accepted_system,
Station = accepted_station,
Faction = accepted.Faction,
SystemAddress = accepted_address,
});
if (failed.HumanReadableName == null) {
OnLog?.Invoke("Human readable name for mission \"" +
failed.Name +
"\" was not recognised");
}
/* Mission failed should be collated if they are in the same system/station
*/
collate = CollateEntries;
} else if (e.Is(Events.SellExplorationData)) {
results.Add(new Cartographics(e as SellExplorationDataEntry) {
System = current_system,
Station = current_station,
Faction = controlling_faction,
});
/* colate single cartographic selling into one */
collate = CollateEntries;
} else if (e.Is(Events.SellOrganicData)) {
/* organic data sold to Vista Genomics */
results.Add(new OrganicData(e as SellOrganicDataEntry) {
System = current_system,
Station = current_station,
Faction = controlling_faction,
});
collate = CollateEntries;
} else if (e.Is(Events.MultiSellExplorationData)) {
/* For multi-sell-exploraton-data only the controlling faction of the station sold to matters.
*/
results.Add(new Cartographics(e as MultiSellExplorationDataEntry) {
System = current_system,
Station = current_station,
Faction = controlling_faction
});
collate = CollateEntries;
entry = new Cartographics(e as MultiSellExplorationDataEntry, current_system, current_station);
entry.Faction = controlling_faction;
} else if (e.Is(Events.RedeemVoucher)) {
RedeemVoucherEntry voucher = e as RedeemVoucherEntry;
List<Faction> current_factions = new List<Faction>();
/* Same for selling combat vouchers. Only the current controlling faction matters here.
*/
entry = new Vouchers();
entry.Entries.Add(e);
entry.System = current_system;
entry.Station = current_station;
entry.Faction = (e as RedeemVoucherEntry).Factions.FirstOrDefault() ?? "";
entry.ControllingFaction = controlling_faction;
if (system_factions.ContainsKey(current_system)) {
current_factions = system_factions[current_system];
} else {
OnLog?.Invoke("There are no current system factions, so turned in vouchers were ignored.");
continue;
}
foreach (string faction in voucher.Factions) {
if (current_factions.Find(x => x.Name == faction) == null) {
OnLog?.Invoke(
string.Format("Vouchers for \"{0}\" were ignored in \"{1}\" since said " +
"faction is not present there.", faction, current_system)
);
continue; /* faction is not present, so it is ignored */
}
/* Same for selling combat vouchers. Only the current controlling faction matters here.
*/
results.Add(new Vouchers(voucher) {
System = current_system,
Station = current_station,
Faction = faction,
ControllingFaction = controlling_faction,
});
}
collate = CollateEntries;
collate = true;
} else if (e.Is(Events.SellMicroResources)) {
results.Add(new SellMicroResources(e as SellMicroResourcesEntry) {
entry = new SellMicroResources() {
Faction = controlling_faction,
Station = current_station,
System = current_system
});
} else if (e.Is(Events.MarketBuy)) {
MarketBuyEntry buy = e as MarketBuyEntry;
if (string.IsNullOrEmpty(buy.Type) || buy.BuyPrice == 0) {
continue;
}
buyCost[buy.Type] = buy.BuyPrice;
};
results.Add(new BuyCargo(buy) {
Faction = controlling_faction,
Station = current_station,
System = current_system,
});
collate = CollateEntries;
} else if (e.Is(Events.SearchAndRescue)) {
results.Add(new SearchAndRescue(e as SearchAndRescueEntry) {
Faction = controlling_faction,
Station = current_station,
System = current_system,
});
collate = CollateEntries;
entry.Entries.Add(e);
} else if (e.Is(Events.MarketSell)) {
MarketSellEntry sell = e as MarketSellEntry;
long profit = 0;
if (!buyCost.ContainsKey(sell.Type)) {
OnLog?.Invoke("Could not find buy order for the given commodity. Please adjust profit manually.");
} else {
long avg = buyCost[sell.Type];
profit = (long)sell.TotalSale - (avg * sell.Count);
}
results.Add(new SellCargo(e as MarketSellEntry) {
entry = new SellCargo() {
Faction = controlling_faction,
Station = current_station,
System = current_system,
Profit = profit
});
System = current_system
};
entry.Entries.Add(e);
}
if (results == null || results.Count <= 0) {
if (entry == null) {
continue;
}
foreach (LogEntry entry in results) {
/* Find all objectives that generally match.
*/
var matches = objectives
.Where(x => x.Matches(entry) >= 2)
.OrderBy(x => x.Matches(entry))
;
/* Find all objectives that generally match.
*/
var matches = objectives
.Where(x => x.Matches(entry) > 0)
.OrderBy(x => x.Matches(entry))
;
if (matches == null || matches.Count() <= 0) {
continue;
}
Objective objective = null;
if (matches != null && matches.Count() > 0) {
/* Then select the one that matches the most.
*/
objective = matches
.OrderBy(x => x.Matches(entry))
.Reverse()
.First()
;
} else {
/* create a new objective if we don't have one */
objective = new Objective() {
Station = entry.Station,
Faction = entry.Faction,
System = entry.System,
};
objectives.Add(objective);
/* Then select the one that matches the most.
*/
var objective = matches
.OrderBy(x => x.Matches(entry))
.Reverse()
.First()
;
if (objective == null) {
continue;
}
LogEntry existing = null;
existing = objective.LogEntries.Find(x => {
try {
return x.CompareTo(entry) == 0;
} catch (NotImplementedException) {
return false;
}
});
LogEntry existing = null;
existing = objective.LogEntries.Find(x => {
try {
return x.CompareTo(entry) == 0;
} catch (NotImplementedException) {
return false;
}
});
if (collate && existing != null) {
existing.Entries.Add(e);
} else if (!collate || existing == null) {
objective.LogEntries.Add(entry);
}
if (collate && existing != null) {
existing.Entries.Add(e);
} else if (!collate || existing == null) {
objective.LogEntries.Add(entry);
}
}
}

View File

@ -1,59 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EDJournal;
namespace EliteBGS.BGS {
public class SearchAndRescue : LogEntry {
public SearchAndRescue (SearchAndRescueEntry e) {
Entries.Add(e);
}
public long Count {
get {
return Entries.OfType<SearchAndRescueEntry>().Sum(x => x.Count);
}
}
public long Reward {
get {
return Entries.OfType<SearchAndRescueEntry>().Sum(x => x.Reward);
}
}
public string NameLocalised {
get {
return Entries.OfType<SearchAndRescueEntry>().First().NameLocalised;
}
}
public override int CompareTo(LogEntry o) {
if (o == null || o.GetType() != typeof(SearchAndRescue)) {
return -1;
}
SearchAndRescue other = o as SearchAndRescue;
if (other.System == System &&
other.Station == Station &&
other.Faction == Faction &&
other.NameLocalised == NameLocalised) {
return 0;
}
return -1;
}
public override string ToString() {
return string.Format("Contributed {0} {1} to Search and Rescue ({2})",
Count,
NameLocalised,
Credits.FormatCredits(Reward)
);
}
public override bool OnlyControllingFaction => true;
}
}

View File

@ -4,43 +4,6 @@ using EDJournal;
namespace EliteBGS.BGS {
public class SellCargo : LogEntry {
public long Profit { get; set; }
public SellCargo() { }
public SellCargo(MarketSellEntry e) {
Entries.Add(e);
}
public string Cargo {
get {
string cargo;
var sell = Entries.OfType<MarketSellEntry>().First();
if (!string.IsNullOrEmpty(sell.TypeLocalised)) {
cargo = sell.TypeLocalised;
} else {
cargo = sell.Type;
if (cargo.Length >= 2) {
cargo = cargo[0].ToString().ToUpper() + cargo.Substring(1);
}
}
return cargo;
}
}
public string Market {
get {
var sell = Entries.OfType<MarketSellEntry>().First();
return sell.BlackMarket ? "Black Market" : "Commodity Market";
}
}
public long Amount {
get { return Entries.OfType<MarketSellEntry>().Sum(x => x.Count); }
}
public override string ToString() {
StringBuilder builder = new StringBuilder();
var sold = Entries.OfType<MarketSellEntry>().ToArray();
@ -50,18 +13,11 @@ namespace EliteBGS.BGS {
}
foreach (MarketSellEntry sell in sold) {
builder.AppendFormat("Sold {0} {1} to the {2}",
builder.AppendFormat("Sold {0} {1} to the {2}\n",
sell.Count,
Cargo,
Market
sell.Type,
sell.BlackMarket ? "Black Market" : "Commodity Market"
);
if (Profit != 0) {
builder.AppendFormat(" ({0} {1})",
Credits.FormatCredits(Profit),
Profit < 0 ? "loss" : "profit"
);
}
}
return builder.ToString().Trim();

View File

@ -12,12 +12,6 @@ namespace EliteBGS.BGS {
}
}
public SellMicroResources() { }
public SellMicroResources(SellMicroResourcesEntry e) {
Entries.Add(e);
}
public override string ToString() {
return string.Format("Sell Micro Resources: {0}", Credits.FormatCredits(TotalSum));
}

View File

@ -6,19 +6,11 @@ namespace EliteBGS.BGS {
public class Vouchers : LogEntry {
private string type = null;
public Vouchers() {
}
public Vouchers(RedeemVoucherEntry e) {
Entries.Add(e);
}
public long TotalSum {
public int TotalSum {
get {
return Entries
.OfType<RedeemVoucherEntry>()
.Where(x => x.FactionBounties.ContainsKey(Faction))
.Sum(x => x.FactionBounties[Faction])
.Where(x => x.GetType() == typeof(RedeemVoucherEntry))
.Sum(x => (x as RedeemVoucherEntry).Amount)
;
}
}
@ -45,15 +37,12 @@ namespace EliteBGS.BGS {
}
public override int CompareTo(LogEntry other) {
if (other == null || other.GetType() != typeof(Vouchers)) {
if (other.GetType() != typeof(Vouchers)) {
return -1;
}
Vouchers b = other as Vouchers;
if (b.Type == Type &&
b.Faction == Faction &&
b.System == System &&
b.Station == Station) {
var b = other as Vouchers;
if (b.Type == Type) {
return 0;
}

180
EDDB/API.cs Normal file
View File

@ -0,0 +1,180 @@
using System;
using System.Threading.Tasks;
using System.IO;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace EliteBGS.EDDB {
public class API {
private static readonly string EDDB_SYSTEMS_ARCHIVE = "https://eddb.io/archive/v6/systems_populated.json";
private static readonly string EDDB_STATIONS_ARCHIVE = "https://eddb.io/archive/v6/stations.json";
private string cache_folder = null;
private string systems_file = null;
private string stations_file = null;
private string stations_file_short = null;
public delegate void DatabaseAvailableDelegate();
public delegate void DatabaseUpdateProgressDelegate();
public event DatabaseAvailableDelegate SystemsAvailable;
public event DatabaseAvailableDelegate StationsAvailable;
public event DatabaseUpdateProgressDelegate DatabaseUpdateProgress;
public event DatabaseUpdateProgressDelegate DatabaseUpdateFinished;
public string SystemsFile => systems_file;
public string StationsFile => stations_file;
public string StationsFileShort => stations_file_short;
public string Cache {
get => cache_folder;
set => cache_folder = value;
}
public API(string cache_folder) {
Initialise(cache_folder);
}
private void Initialise(string cache_folder) {
this.cache_folder = cache_folder;
systems_file = Path.Combine(this.cache_folder, "systems_populated.json");
stations_file = Path.Combine(this.cache_folder, "stations.json");
stations_file_short = Path.Combine(this.cache_folder, "stations_short.json");
this.StationsAvailable += API_StationsAvailable;
}
private void API_StationsAvailable() {
TranslateStations();
DatabaseUpdateFinished?.Invoke();
}
private void DownloadFile(string url, string file, DatabaseAvailableDelegate notifier) {
WebClient client = new WebClient();
client.DownloadFileCompleted += Client_DownloadFileCompleted;
client.DownloadProgressChanged += Client_DownloadProgressChanged;
client.DownloadFileAsync(new Uri(url), file, notifier);
}
private void Client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e) {
DatabaseUpdateProgress?.Invoke();
}
private void Client_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e) {
DatabaseAvailableDelegate notifier = e.UserState as DatabaseAvailableDelegate;
notifier?.Invoke();
}
private void TranslateStations() {
if (!HaveStationsFile) {
return;
}
var short_time = File.GetLastWriteTimeUtc(StationsFileShort);
var long_time = File.GetLastWriteTimeUtc(StationsFile);
if (HaveStationsFileShort && long_time <= short_time) {
return;
}
Dictionary<int, List<string>> systems = new Dictionary<int, List<string>>();
using (var str = new StreamReader(StationsFile)) {
using (var reader = new JsonTextReader(str)) {
JArray obj = (JArray)JToken.ReadFrom(reader);
foreach (JObject child in obj.Children<JObject>()) {
int system_id = child.Value<int>("system_id");
string name = child.Value<string>("name");
if (!systems.ContainsKey(system_id)) {
systems.Add(system_id, new List<string>());
}
DatabaseUpdateProgress?.Invoke();
systems[system_id].Add(name);
}
}
}
JObject short_stations = new JObject();
foreach(int ids in systems.Keys) {
JArray station_names = new JArray();
foreach(string system in systems[ids]) {
station_names.Add(system);
}
short_stations.Add(ids.ToString(), station_names);
}
using (var outstr = new StreamWriter(stations_file_short)) {
using (var jwriter = new JsonTextWriter(outstr)) {
short_stations.WriteTo(jwriter);
}
}
}
public void CheckDatabases() {
if (HaveSystemsFile) {
SystemsAvailable?.Invoke();
}
if (HaveStationsFile) {
StationsAvailable?.Invoke();
}
}
public void Download(bool force) {
if (!HaveSystemsFile || force) {
DownloadFile(EDDB_SYSTEMS_ARCHIVE, systems_file, SystemsAvailable);
} else if (HaveSystemsFile) {
SystemsAvailable?.Invoke();
}
if (!HaveStationsFile || force) {
DownloadFile(EDDB_STATIONS_ARCHIVE, stations_file, StationsAvailable);
} else if (HaveStationsFile) {
StationsAvailable?.Invoke();
}
}
public void Download() {
Download(false);
}
public bool HaveSystemsFile {
get { return systems_file != null && File.Exists(systems_file); }
}
public bool HaveStationsFile {
get { return stations_file != null && File.Exists(stations_file); }
}
public bool HaveStationsFileShort {
get { return stations_file_short != null && File.Exists(stations_file_short); }
}
public PopulatedSystems MakePopulatedSystems() {
if (!HaveSystemsFile) {
throw new InvalidOperationException("no local systems file downloaded");
}
return PopulatedSystems.FromFile(SystemsFile);
}
public Stations MakeStations() {
if (!HaveStationsFile) {
throw new InvalidOperationException("no local systems file downloaded");
}
TranslateStations();
return Stations.FromFile(StationsFileShort);
}
}
}

71
EDDB/PopulatedSystems.cs Normal file
View File

@ -0,0 +1,71 @@
using System.IO;
using System.Linq;
using System.Collections.Generic;
using System.Globalization;
using Newtonsoft.Json.Linq;
namespace EliteBGS.EDDB {
public class PopulatedSystems {
private string json_file = null;
private JArray root = null;
private string[] system_names = null;
private Dictionary<string, int> to_id;
public static PopulatedSystems FromFile(string file) {
PopulatedSystems pop = new PopulatedSystems();
string content = File.ReadAllText(file);
pop.json_file = file;
pop.root = JArray.Parse(content);
pop.Initialise();
return pop;
}
private void Initialise() {
MakeSystemNames();
to_id = root.ToDictionary(x => x.Value<string>("name"), x => x.Value<int>("id"));
}
public int ToId(string name) {
return to_id.First(x => string.Compare(x.Key, name, true) == 0).Value;
}
private void MakeSystemNames() {
if (root == null) {
throw new InvalidDataException("no JSON loaded");
}
if (system_names != null && system_names.Length > 0) {
return;
}
var names = root.Children<JObject>().Select(x => x.Value<string>("name"));
system_names = names.ToArray();
}
public string[] SystemNames {
get {
MakeSystemNames();
return system_names;
}
}
public string[] SystemNamesByFilter(string filter) {
MakeSystemNames();
var culture = CultureInfo.InvariantCulture;
return system_names.Where(x => culture.CompareInfo.IndexOf(x, filter, CompareOptions.IgnoreCase) > -1)
.ToArray()
;
}
public string JSONFile {
get => json_file;
}
public JArray Root {
get => root;
}
}
}

51
EDDB/Stations.cs Normal file
View File

@ -0,0 +1,51 @@
using System.Globalization;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using Newtonsoft.Json.Linq;
namespace EliteBGS.EDDB {
public class Stations {
private JObject root = null;
private Dictionary<int, List<string>> by_system_id = null;
public JObject JSON => root;
private Stations() {
}
private void Initialise() {
by_system_id = new Dictionary<int, List<string>>();
foreach (var station in root.Properties()) {
int id = int.Parse(station.Name);
var names = root.Value<JArray>(id.ToString()).Values<string>().ToArray();
if (!by_system_id.ContainsKey(id)) {
by_system_id[id] = new List<string>();
}
by_system_id[id].AddRange(names);
}
}
public static Stations FromFile(string filename) {
string alltext = File.ReadAllText(filename);
Stations stations = new Stations {
root = JObject.Parse(alltext),
};
stations.Initialise();
return stations;
}
public string[] StationNamesBySystemId(int systemid, string filter) {
if (!by_system_id.ContainsKey(systemid)) {
return new string[0];
}
return by_system_id[systemid]
.Where(x => CultureInfo.InvariantCulture.CompareInfo.IndexOf(x, filter, CompareOptions.IgnoreCase) > -1)
.ToArray()
;
}
}
}

View File

@ -41,6 +41,9 @@
<ApplicationIcon>EliteBGS.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="AutoCompleteTextBox, Version=1.1.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>packages\AutoCompleteTextBox.1.1.1\lib\net472\AutoCompleteTextBox.dll</HintPath>
</Reference>
<Reference Include="EDJournal, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\edjournal\bin\Debug\EDJournal.dll</HintPath>
@ -48,15 +51,14 @@
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Ookii.Dialogs.Wpf, Version=5.0.0.0, Culture=neutral, PublicKeyToken=66aa232afad40158, processorArchitecture=MSIL">
<HintPath>packages\Ookii.Dialogs.Wpf.5.0.1\lib\net462\Ookii.Dialogs.Wpf.dll</HintPath>
<Reference Include="Ookii.Dialogs.Wpf, Version=3.0.0.0, Culture=neutral, PublicKeyToken=66aa232afad40158, processorArchitecture=MSIL">
<HintPath>packages\Ookii.Dialogs.Wpf.3.1.0\lib\net45\Ookii.Dialogs.Wpf.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Design" />
<Reference Include="System.Drawing" />
<Reference Include="System.Security" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
@ -75,56 +77,30 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Compile Include="AdjustProfitWindow.xaml.cs">
<DependentUpon>AdjustProfitWindow.xaml</DependentUpon>
</Compile>
<Compile Include="BGS\DiscordLogGenerator.cs" />
<Compile Include="BGS\FoulMurder.cs" />
<Compile Include="BGS\GenericDiscordLog.cs" />
<Compile Include="BGS\InfluenceSupport.cs" />
<Compile Include="BGS\LogGenerator\CargoSoldFormatter.cs" />
<Compile Include="BGS\LogGenerator\CartographicsFormat.cs" />
<Compile Include="BGS\LogGenerator\CombatZoneFormat.cs" />
<Compile Include="BGS\LogGenerator\FailedMissionFormat.cs" />
<Compile Include="BGS\LogGenerator\GenericFormat.cs" />
<Compile Include="BGS\LogGenerator\KillBondsFormat.cs" />
<Compile Include="BGS\LogGenerator\LogFormatter.cs" />
<Compile Include="BGS\LogGenerator\MarketBuyFormat.cs" />
<Compile Include="BGS\LogGenerator\MicroResourcesFormat.cs" />
<Compile Include="BGS\LogGenerator\MissionFormat.cs" />
<Compile Include="BGS\LogGenerator\MurderFormat.cs" />
<Compile Include="BGS\LogGenerator\SearchAndRescueFormat.cs" />
<Compile Include="BGS\LogGenerator\VistaGenomicsFormat.cs" />
<Compile Include="BGS\LogGenerator\VoucherFormat.cs" />
<Compile Include="BGS\MissionFailed.cs" />
<Compile Include="BGS\NonaDiscordLog.cs" />
<Compile Include="BGS\BuyCargo.cs" />
<Compile Include="BGS\OrganicData.cs" />
<Compile Include="BGS\SearchAndRescue.cs" />
<Compile Include="BGS\SellCargo.cs" />
<Compile Include="BGS\SellMicroResources.cs" />
<Compile Include="BGS\FactionKillBonds.cs" />
<Compile Include="LoadEntriesWindow.xaml.cs">
<DependentUpon>LoadEntriesWindow.xaml</DependentUpon>
</Compile>
<Compile Include="EDDB\PopulatedSystems.cs" />
<Compile Include="EDDB\Stations.cs" />
<Compile Include="Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="UI\StationSuggestionProvider.cs" />
<Compile Include="UI\SystemSuggestionProvider.cs" />
<Compile Include="Util\AppConfig.cs" />
<Compile Include="Util\Config.cs" />
<Compile Include="EDDB\API.cs" />
<Compile Include="ProgressDialog.xaml.cs">
<DependentUpon>ProgressDialog.xaml</DependentUpon>
</Compile>
<Compile Include="CombatZoneDialog.xaml.cs">
<DependentUpon>CombatZoneDialog.xaml</DependentUpon>
</Compile>
<Page Include="AdjustProfitWindow.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="LoadEntriesWindow.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@ -144,6 +120,10 @@
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Page Include="ProgressDialog.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="CombatZoneDialog.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@ -171,61 +151,46 @@
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<None Include="docs\faq.md" />
<None Include="docs\index.md" />
<None Include="mkdocs.yml" />
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<None Include="docs\description.md" />
<None Include="README.md">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Resource Include="main-page.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Resource>
<None Include="README.md">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="TestData\Mission-NoInfForSourceOrTarget.txt" />
<None Include="TestData\NoFactionName-AndNoInfluence.txt" />
<None Include="TestData\Mission-Failed.txt" />
<None Include="TestData\DoubleSupport.txt" />
<None Include="TestData\MurderOtherThanControllingFaction.txt" />
<None Include="TestData\TestMurder.txt" />
<None Include="TestData\SellOrganicData.txt" />
<None Include="TestData\Double-5-Inf.txt" />
<None Include="TestData\SameInfTwice-Log.txt" />
<None Include="TestData\SameInfTwice.txt" />
<None Include="docs\CHANGELOG.md">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Resource Include="docs\main-page.png">
<Resource Include="main-objectives.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Resource>
</ItemGroup>
<ItemGroup>
<Content Include="LICENCE.txt">
<Resource Include="main-entries.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="logo_v4.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<Resource Include="main-report.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="LICENCE.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="logo_v4.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EliteBGS.ico" />
</ItemGroup>
<ItemGroup>
<Resource Include="EliteBGS.ico" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -1,40 +0,0 @@
<Window x:Class="EliteBGS.LoadEntriesWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:EliteBGS"
mc:Ignorable="d"
Title="Load Entries" Height="450" Width="600">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Label Content="Use this text field to manually load JSON events into the application." Grid.Row="0" Grid.Column="1"/>
<TextBox x:Name="Lines" AcceptsReturn="True" AcceptsTab="True" TextWrapping="Wrap" Grid.Row="1" Height="Auto" Grid.Column="0" Grid.ColumnSpan="3" VerticalScrollBarVisibility="Visible" />
<Grid Grid.Column="1" Grid.Row="2">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button x:Name="Load" Content="Load Entries" Grid.Row="0" Margin="5,5,5,5" Height="Auto" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Click="Load_Click" />
<Button x:Name="LoadFile" Content="Load File" Grid.Row="0" Margin="5,5,5,5" Height="Auto" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center" Click="LoadFile_Click" />
<Button x:Name="DeleteUnimportant" Content="Remove Unimportant" Grid.Row="0" Margin="5,5,5,5" Height="Auto" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center" Click="DeleteUnimportant_Click" />
<Button x:Name="Clear" Content="Clear" Grid.Row="0" Height="Auto" Margin="5,5,5,5" Grid.Column="4" Click="Clear_Click" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</Grid>
</Window>

View File

@ -1,116 +0,0 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.IO;
using System.Windows;
using Microsoft.Win32;
using EDJournal;
using EliteBGS.BGS;
using EliteBGS.Util;
namespace EliteBGS {
/// <summary>
/// Interaction logic for LoadEntriesWindow.xaml
/// </summary>
public partial class LoadEntriesWindow : Window {
public delegate void EntriesLoadedDelegate(List<Entry> entries);
public event EntriesLoadedDelegate EntriesLoaded;
Config config = new Config();
public LoadEntriesWindow() {
InitializeComponent();
}
private void Load_Click(object sender, RoutedEventArgs e) {
string lines = Lines.Text.Trim();
if (lines.Length <= 0) {
return;
}
try {
List<Entry> entries = new List<Entry>();
foreach (string line in lines.Split('\n')) {
if (string.IsNullOrEmpty(line)) {
continue;
}
Entry entry = Entry.Parse(line);
entries.Add(entry);
}
if (entries.Count > 0) {
EntriesLoaded?.Invoke(entries);
}
} catch (Exception exception) {
MessageBox.Show(string.Format("There was an error while parsing the JSON: {0}",
exception.ToString()));
}
}
private void Clear_Click(object sender, RoutedEventArgs e) {
Lines.Clear();
}
private void LoadFile_Click(object sender, RoutedEventArgs e) {
OpenFileDialog dialog = new OpenFileDialog();
dialog.DefaultExt = ".log";
dialog.Filter = "Log files (*.log)|*.log|All files (*.*)|*";
var location = config.Global.DefaultJournalLocation;
if (Directory.Exists(location)) {
dialog.InitialDirectory = location;
}
bool result = dialog.ShowDialog(this) ?? false;
if (!result) {
return;
}
try {
using (FileStream stream = File.OpenRead(dialog.FileName)) {
using (StreamReader reader = new StreamReader(stream)) {
Lines.Text = reader.ReadToEnd();
}
}
} catch (Exception) {
}
}
private void DeleteUnimportant_Click(object sender, RoutedEventArgs e) {
string lines = Lines.Text.Trim();
if (lines.Length <= 0) {
return;
}
try {
List<Entry> entries = new List<Entry>();
foreach (string line in lines.Split('\n')) {
if (string.IsNullOrEmpty(line)) {
continue;
}
Entry entry = Entry.Parse(line);
if (Report.IsRelevant(entry)) {
entries.Add(entry);
}
}
if (entries.Count <= 0) {
return;
}
string[] text = entries
.ConvertAll(x => x.JSON.ToString(Newtonsoft.Json.Formatting.None))
.ToArray()
;
Lines.Text = string.Join("\n", text).Trim();
} catch (Exception exception) {
MessageBox.Show(string.Format("There was an error while parsing the JSON: {0}",
exception.ToString()));
}
}
}
}

View File

@ -7,7 +7,7 @@
xmlns:local="clr-namespace:EliteBGS"
xmlns:BGS="clr-namespace:EliteBGS.BGS" xmlns:Util="clr-namespace:EliteBGS.Util" d:DataContext="{d:DesignInstance Type=Util:AppConfig}" x:Name="window" x:Class="EliteBGS.MainWindow"
mc:Ignorable="d"
Title="Elite: Dangerous BGS Helper" Height="520" Width="890" Icon="EliteBGS.ico" Closing="window_Closing">
Title="Elite: Dangerous BGS Helper" Height="520" Width="890" Icon="EliteBGS.ico">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
@ -22,14 +22,24 @@
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ToolBar VerticalAlignment="Top" Grid.Row="0" Width="Auto" Grid.ColumnSpan="3" Height="Auto" Margin="0,0,0,0" HorizontalAlignment="Left">
<Label Content="System:" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<abc:AutoCompleteTextBox x:Name="system" VerticalAlignment="Center" MinWidth="120" MinHeight="22" KeyDown="Filter_KeyDown"/>
<Label Content="Station:" Height="26.2857142857143" VerticalAlignment="Top"/>
<abc:AutoCompleteTextBox x:Name="station" Margin="0" VerticalAlignment="Center" MinWidth="120" MinHeight="22" KeyDown="Filter_KeyDown" GotFocus="station_GotFocus"/>
<Label Content="Faction:" Height="26.2857142857143" VerticalAlignment="Top"/>
<abc:AutoCompleteTextBox x:Name="faction" Margin="0" VerticalAlignment="Center" MinWidth="120" MinHeight="22" KeyDown="Filter_KeyDown"/>
<Separator Height="26.2857142857143" Margin="0" VerticalAlignment="Top"/>
<Button x:Name="AddFilter" Content="Add Objective" VerticalAlignment="Stretch" Click="AddFilter_Click" Margin="0,0,0,0.286" RenderTransformOrigin="0.5,0.505"/>
<Separator Height="26.2857142857143" Margin="0" VerticalAlignment="Top"/>
<Button x:Name="AddCombatZone" Content="Add Combat Zone Win" VerticalAlignment="Stretch" Margin="0,0,0,0.286" RenderTransformOrigin="0.5,0.505" Click="AddCombatZone_Click"/>
</ToolBar>
<ToolBar VerticalAlignment="Top" Grid.Row="1" Width="Auto" Margin="0,0,0,0" Height="Auto" Grid.ColumnSpan="3" HorizontalAlignment="Left">
<Button x:Name="ParseJournal" Content="Parse Journal" VerticalAlignment="Center" Click="ParseJournal_Click" HorizontalAlignment="Center"/>
<Separator Margin="1" VerticalAlignment="Center" MinWidth="1" HorizontalAlignment="Center" MinHeight="22"/>
@ -37,45 +47,24 @@
<DatePicker x:Name="startdate" Height="26.2857142857143" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Label Content="To:" Height="26.2857142857143" VerticalAlignment="Top"/>
<DatePicker x:Name="enddate" Height="26.2857142857143" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Separator Margin="1" VerticalAlignment="Center" MinWidth="1" HorizontalAlignment="Center" MinHeight="22"/>
<CheckBox x:Name="collate" Margin="1" Content="Collate entries" IsChecked="True" IsThreeState="False"/>
<Separator Height="26.2857142857143" Margin="0" VerticalAlignment="Top"/>
<Button x:Name="AddCombatZone" Content="Add Combat Zone Win" VerticalAlignment="Stretch" Margin="0,0,0,0.286" RenderTransformOrigin="0.5,0.505" Click="AddCombatZone_Click"/>
<Separator Height="26.2857142857143" Margin="0" VerticalAlignment="Top"/>
<Button x:Name="AdjustProfit" Content="Adjust Trade Profit" Margin="0" VerticalAlignment="Stretch" Click="AdjustProfit_Click" />
<Separator Margin="1" VerticalAlignment="Center" MinWidth="1" HorizontalAlignment="Center" MinHeight="22"/>
<Button x:Name="ManuallyParse" Content="Manually Parse JSON" Click="ManuallyParse_Click" />
</ToolBar>
<TreeView CheckBox.Checked="TreeView_CheckBox_Updated" CheckBox.Unchecked="TreeView_CheckBox_Updated" x:Name="entries" Margin="0,0,0,0" Grid.ColumnSpan="3" Grid.Row="2" KeyUp="entries_KeyUp">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type BGS:Objective}" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<CheckBox Focusable="False" IsChecked="{Binding IsEnabled}" VerticalAlignment="Center"/>
<TextBlock Text="{Binding Name}" Margin="5,0" />
</StackPanel>
<HierarchicalDataTemplate.ItemTemplate>
<HierarchicalDataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox Focusable="False" IsChecked="{Binding IsEnabled}" VerticalAlignment="Center"/>
<TextBlock Text="{Binding CompletedAt}" Margin="5,0,5,0" HorizontalAlignment="Right"/>
<TextBlock Text="{Binding Name}" FontWeight="DemiBold"/>
</StackPanel>
</HierarchicalDataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
<TreeView.ItemContainerStyle>
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
<ToolBar HorizontalAlignment="Left" Height="36" VerticalAlignment="Top" Width="Auto" Grid.Row="3" Grid.ColumnSpan="2">
<Button x:Name="GenerateDiscord" Content="Generate Discord Report" VerticalAlignment="Center" Margin="0,0,0,4.857" Click="GenerateDiscord_Click" Height="26"/>
<Separator />
<ComboBox x:Name="LogType" Height="36" Margin="0" VerticalAlignment="Center" Width="140" SelectionChanged="LogType_SelectionChanged" />
<TreeView x:Name="entries" Margin="0,0,0,0" Grid.ColumnSpan="3" Grid.Row="2" KeyUp="entries_KeyUp"/>
</Grid>
</TabItem>
<TabItem Header="Discord Report">
<Grid Background="#FFE5E5E5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ToolBar HorizontalAlignment="Left" Height="36" VerticalAlignment="Top" Width="Auto">
<Button x:Name="GenerateDiscord" Content="Genereate Discord Report" VerticalAlignment="Center" Margin="0,0,0,4.857" Click="GenerateDiscord_Click" Height="26"/>
</ToolBar>
<TextBox x:Name="DiscordLog" Height="Auto" TextWrapping="Wrap" FontFamily="Consolas" FontSize="14" Grid.Row="4" Grid.ColumnSpan="3" AcceptsReturn="True" AcceptsTab="True"/>
<TextBox x:Name="DiscordLog" Height="Auto" TextWrapping="Wrap" FontFamily="Consolas" FontSize="14" Grid.Row="1" Grid.ColumnSpan="2" AcceptsReturn="True" AcceptsTab="True"/>
</Grid>
</TabItem>
<TabItem Header="Settings" HorizontalAlignment="Left" Height="20" VerticalAlignment="Top" Width="53.7142857142857">
@ -101,10 +90,24 @@
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Label Content="Location on disk for the player journal. There is usually no need to change this setting." Grid.Row="0" Grid.ColumnSpan="2" HorizontalAlignment="Left" Margin="0,0,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.08,0.496"/>
<TextBox x:Name="journallocation" IsReadOnly="true" Text="" Grid.Row="1" Grid.Column="0" Margin="5,0,5,10" TextWrapping="Wrap" />
<TextBox x:Name="journallocation" Text="" Grid.Row="1" Grid.Column="0" Margin="5,0,5,10" TextWrapping="Wrap" />
<Button x:Name="browsejournallocation" Content="Browse" Grid.Row="1" Grid.Column="1" Margin="0,0,0,0" Width="Auto" VerticalAlignment="Top" HorizontalAlignment="Left" Click="browsejournallocation_Click"/>
</Grid>
</GroupBox>
<GroupBox Header="Online Services" Height="Auto" Margin="0,5,0,0" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" VerticalAlignment="Top">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<CheckBox x:Name="useeddb" Content="Use eddb station and system data for autocompletion" HorizontalAlignment="Left" Margin="0,10,0,10" VerticalAlignment="Top" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="1" Click="useeddb_Click"/>
<Button x:Name="DownloadData" Content="Download Data" HorizontalAlignment="Center" Grid.Column="1" VerticalAlignment="Center" Width="Auto" Click="DownloadData_Click"/>
</Grid>
</GroupBox>
</Grid>
</TabItem>
<TabItem Header="Event Log" HorizontalAlignment="Left" Height="20" VerticalAlignment="Top">

View File

@ -1,6 +1,4 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
@ -9,6 +7,8 @@ using Ookii.Dialogs.Wpf;
using EDJournal;
using EliteBGS.BGS;
using EliteBGS.Util;
using EliteBGS.UI;
using EliteBGS.EDDB;
namespace EliteBGS {
/// <summary>
@ -18,18 +18,15 @@ namespace EliteBGS {
private PlayerJournal journal = null;
private Report report = new Report();
private Config config = new Config();
private API api = null;
private PopulatedSystems systems_db = null;
private Stations stations_db = null;
public Config Config => config;
public Report Report => report;
private LoadEntriesWindow loadentries = null;
private static readonly List<DiscordLogGenerator> logtypes = new List<DiscordLogGenerator>() {
new NonaDiscordLog(),
new GenericDiscordLog(),
};
public MainWindow() {
InitializeComponent();
@ -41,24 +38,14 @@ namespace EliteBGS {
report.OnLog += Report_OnLog;
foreach (DiscordLogGenerator type in logtypes) {
LogType.Items.Add(type);
}
string lastused = config.Global.LastUsedDiscordTemplate;
int lastindex = logtypes.FindIndex(x => x.ToString() == lastused);
if (lastindex > -1) {
LogType.SelectedIndex = lastindex;
} else {
LogType.SelectedIndex = 0;
}
api = new API(config.ConfigPath);
journal = new PlayerJournal(config.Global.JournalLocation);
// Set both to now
startdate.SelectedDate = DateTime.Now;
enddate.SelectedDate = DateTime.Now;
journallocation.Text = Config.Global.JournalLocation;
useeddb.IsChecked = Config.Global.UseEDDB;
try {
config.LoadObjectives(Report);
@ -66,20 +53,31 @@ namespace EliteBGS {
} catch (Exception e) {
Log(e.Message);
}
}
private void TreeView_CheckBox_Updated(object sender, RoutedEventArgs args) {
GenerateLog();
}
api.SystemsAvailable += Api_SystemsAvailable;
api.StationsAvailable += Api_StationsAvailable;
private void Loadentries_EntriesLoaded(List<Entry> lines) {
try {
report.Scan(lines);
RefreshObjectives();
} catch (Exception exception) {
Log("Something went terribly wrong while parsing the E:D player journal.");
Log("Please send this to CMDR Hekateh:");
Log(exception.ToString());
api.CheckDatabases();
} catch (Exception e) {
Log(e.Message);
}
}
private void Api_StationsAvailable() {
try {
stations_db = api.MakeStations();
} catch (Exception e) {
Log(e.Message);
}
}
private void Api_SystemsAvailable() {
try {
systems_db = api.MakePopulatedSystems();
system.Provider = new SystemSuggestionProvider(systems_db);
} catch (Exception e) {
Log(e.Message);
}
}
@ -105,44 +103,62 @@ namespace EliteBGS {
return;
}
foreach (Objective obj in report.Objectives) {
entries.Items.Add(obj);
obj.IsExpanded = obj.ManuallyAdded || obj.IsExpanded;
obj.IsEnabled = obj.ManuallyAdded || obj.IsEnabled;
foreach (var obj in report.Objectives) {
var item_objective = new TreeViewItem {
Header = obj.ToString(),
Tag = obj
};
foreach (var log in obj.LogEntries) {
var log_objective = new TreeViewItem {
Header = log.ToString(),
Tag = log
};
item_objective.Items.Add(log_objective);
}
item_objective.IsExpanded = true;
entries.Items.Add(item_objective);
}
}
private void ParseJournal_Click(object sender, RoutedEventArgs e) {
try {
bool collate = (this.collate.IsChecked ?? true);
journal.Open(); // Load all files
var start = startdate.SelectedDate ?? DateTime.Now;
var end = enddate.SelectedDate ?? DateTime.Now;
report.Scan(journal, start, end, collate);
journal.Open(); // Load all files
var start = startdate.SelectedDate ?? DateTime.Now;
var end = startdate.SelectedDate ?? DateTime.Now;
report.Scan(journal, start, end);
RefreshObjectives();
}
private void AddObjective() {
Objective objective = new Objective {
System = system.Text,
Faction = faction.Text,
Station = station.Text
};
if (!objective.IsValid) {
return;
}
if (report.AddObjective(objective)) {
RefreshObjectives();
GenerateLog();
} catch (Exception exception) {
Log("Something went terribly wrong while parsing the E:D player journal.");
Log("Please send this to CMDR Hekateh:");
Log(exception.ToString());
config.SaveObjectives(Report);
}
}
private void GenerateLog() {
try {
DiscordLogGenerator discord = LogType.SelectedItem as DiscordLogGenerator;
string report = discord.GenerateDiscordLog(Report);
DiscordLog.Text = report;
} catch (Exception exception) {
Log("Something went terribly wrong while generating the Discord log.");
Log("Please send this to CMDR Hekateh:");
Log(exception.ToString());
}
private void AddFilter_Click(object sender, RoutedEventArgs e) {
AddObjective();
}
private void GenerateDiscord_Click(object sender, RoutedEventArgs e) {
GenerateLog();
GenericDiscordLog discord = new GenericDiscordLog();
string report = discord.GenerateDiscordLog(Report);
DiscordLog.Text = report;
}
private void RemoveCurrentObjective() {
@ -150,23 +166,21 @@ namespace EliteBGS {
return;
}
object obj = entries.SelectedItem;
TreeViewItem item = entries.SelectedItem as TreeViewItem;
var obj = item.Tag;
bool removed = false;
if (obj.GetType() == typeof(Objective)) {
removed = report.Objectives.Remove(obj as Objective);
} else if (obj.GetType() == typeof(LogEntry) ||
obj.GetType().IsSubclassOf(typeof(LogEntry))) {
foreach (Objective parent in report.Objectives) {
if (parent.LogEntries.Remove(obj as LogEntry)) {
removed = true;
}
}
var parent = (item.Parent as TreeViewItem).Tag as Objective;
removed = parent.LogEntries.Remove(obj as LogEntry);
}
if (removed) {
RefreshObjectives();
GenerateLog();
config.SaveObjectives(Report);
}
}
@ -188,115 +202,77 @@ namespace EliteBGS {
journal = new PlayerJournal(config.Global.JournalLocation);
}
/// <summary>
/// Gets the currently selected objective, even if a log entry in said objective
/// is selected instead. If nothing is selected, returns null.
/// </summary>
/// <returns></returns>
private Objective GetSelectedObjective() {
var obj = entries.SelectedItem;
private void useeddb_Click(object sender, RoutedEventArgs e) {
Config.Global.UseEDDB = (bool)useeddb.IsChecked;
}
if (obj == null) {
return null;
private void Filter_KeyDown(object sender, KeyEventArgs e) {
if (e.Key == Key.Enter) {
AddObjective();
}
}
private void station_GotFocus(object sender, RoutedEventArgs e) {
try {
if (stations_db == null || systems_db == null) {
return;
}
var sys = system.Text;
if (sys == null || sys.Length <= 0) {
return;
}
int system_id = systems_db.ToId(sys);
station.Provider = new StationSuggestionProvider(stations_db, system_id);
} catch (Exception exc) {
Log(exc.Message);
}
}
private void DownloadData_Click(object sender, RoutedEventArgs e) {
if (!Config.Global.UseEDDB) {
return;
}
if (obj.GetType() == typeof(Objective)) {
return obj as Objective;
}
// Some form of entry perhaps?
if (obj.GetType().IsSubclassOf(typeof(LogEntry))) {
LogEntry entry = obj as LogEntry;
Objective objective = entries.Items
.OfType<Objective>()
.First(x => x.LogEntries.Contains(entry))
;
return objective;
}
return null;
ProgressDialog dialog = new ProgressDialog(api);
dialog.StartDownload();
dialog.ShowDialog();
}
private void AddCombatZone_Click(object sender, RoutedEventArgs e) {
Objective objective = GetSelectedObjective();
if (objective == null) {
if (entries.SelectedItem == null) {
return;
}
TreeViewItem item = entries.SelectedItem as TreeViewItem;
var obj = item.Tag;
if (obj.GetType() != typeof(Objective)) {
return;
}
Objective objective = obj as Objective;
CombatZoneDialog dialog = new CombatZoneDialog() { Owner = this };
if (!(dialog.ShowDialog() ?? false)) {
return;
}
CombatZone zone = new CombatZone {
ManuallyAdded = true,
Faction = objective.Faction,
System = objective.System,
Station = objective.Station,
CombatZone zone = new CombatZone();
Grade = dialog.Grade,
Type = dialog.Type,
Amount = dialog.Amount
};
zone.ManuallyAdded = true;
zone.Faction = objective.Faction;
zone.System = objective.System;
zone.Station = objective.Station;
zone.Grade = dialog.Grade;
zone.Type = dialog.Type;
zone.Amount = dialog.Amount;
objective.LogEntries.Add(zone);
RefreshObjectives();
GenerateLog();
}
private void AdjustProfit_Click(object sender, RoutedEventArgs e) {
if (entries.SelectedItem == null || entries.SelectedItem.GetType() != typeof(SellCargo)) {
return;
}
SellCargo sell = entries.SelectedItem as SellCargo;
AdjustProfitWindow adjust = new AdjustProfitWindow() { Owner = this };
adjust.Profit.Text = sell.Profit.ToString();
if (!(adjust.ShowDialog() ?? false)) {
return;
}
if (int.TryParse(adjust.Profit.Text, out int newprofit)) {
sell.Profit = newprofit;
RefreshObjectives();
GenerateLog();
}
}
private void LogType_SelectionChanged(object sender, SelectionChangedEventArgs e) {
if (LogType.SelectedItem == null) {
return;
}
string template = LogType.SelectedItem.ToString();
config.Global.LastUsedDiscordTemplate = template;
GenerateLog();
}
private void ManuallyParse_Click(object sender, RoutedEventArgs e) {
if (loadentries != null) {
loadentries.Show();
return;
}
loadentries = new LoadEntriesWindow();
loadentries.Closed += Loadentries_Closed;
loadentries.EntriesLoaded += Loadentries_EntriesLoaded;
loadentries.Show();
}
private void Loadentries_Closed(object sender, EventArgs e) {
loadentries = null;
}
private void window_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
loadentries?.Close();
loadentries = null;
}
}
}

21
ProgressDialog.xaml Normal file
View File

@ -0,0 +1,21 @@
<Window x:Class="EliteBGS.ProgressDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:EliteBGS"
mc:Ignorable="d"
Title="Progress" Height="100" Width="450" Icon="EliteBGS.ico">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Content="Downloading EDDB databases might take a while, please be patient." Grid.Row="0" Grid.Column="0" HorizontalAlignment="Center" Margin="0,0,0,0" VerticalAlignment="Top"/>
<ProgressBar x:Name="progress" Height="25" Margin="10,10" Grid.Row="1" Grid.Column="0" VerticalAlignment="Top" Width="Auto" IsIndeterminate="True"/>
</Grid>
</Window>

30
ProgressDialog.xaml.cs Normal file
View File

@ -0,0 +1,30 @@
using System.Windows;
using EliteBGS.EDDB;
namespace EliteBGS {
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class ProgressDialog : Window {
private readonly API api = null;
public ProgressDialog(API api) {
InitializeComponent();
this.api = api;
this.api.DatabaseUpdateFinished += Api_DatabaseUpdateFinished;
this.api.DatabaseUpdateProgress += Api_DatabaseUpdateProgress;
}
private void Api_DatabaseUpdateProgress() {
progress.Value = (progress.Value + 1) % 100;
}
private void Api_DatabaseUpdateFinished() {
Close();
}
public void StartDownload() {
api.Download(true);
}
}
}

View File

@ -51,5 +51,5 @@ using System.Windows;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.1.1.0")]
[assembly: AssemblyFileVersion("0.1.1.0")]
[assembly: AssemblyVersion("0.1.0.0")]
[assembly: AssemblyFileVersion("0.1.0.0")]

176
README.md
View File

@ -3,7 +3,7 @@
This tool is meant to help people contributing to the BGS effort to create BGS reports.
The tool allows you to configure BGS objectives, and will then parse your player journal
for tasks you completed relating to that BGS objective. Once the JSON player journal has
been parsed, you may then generate a BGS report you can copy/paste into Discord.
been parsed, you may then generate a BGS report discord logs.
Source code is available [here](https://git.aror.org/florian/elitebgs).
@ -11,41 +11,26 @@ Binary downloads can be found here: [https://bgs.n0la.org/](https://bgs.n0la.org
## How To
Press "Parse Journal", which will check your Elite Dangerous player journal for completed
transactions. Currently the tool recognises the following transactions:
![Main Window Objectives](main-objectives.png)
Use the main tab to add objectives to the program. To do this, insert the system name,
faction, and, optionally, a station. Then press "Add Objective". Objectives can be deleted
by selecting them and pressing the "DEL" key.
Once you have your objectives have been configured, you can press "Parse Journal", which
will check your Elite Dangerous player journal for completed missions. Currently the tool
recognises the following completed tasks:
* Buying of cargo from stations (new in Update 10)
* Completed missions
* Failed missions
* Murders
* Search and Rescue contributions
* Vouchers, including bounty vouchers, combat bonds, and settlement vouchers (aka intel packages)
* Selling of micro resources (Odyssey only)
* Selling cartography data
* Selling of cargo to stations
* Selling of micro resources (Odyssey only)
* Selling of organic data (Odyssey only)
* Vouchers, including bounty vouchers, combat bonds, and settlement vouchers (aka intel packages)
Vouchers help the faction that is listed for them. If said faction is not present in the
current system, then there is no BGS impact. So the tool looks for all system factions, and
makes sure that your vouchers actually have a BGS impact, otherwise it won't list them.
Selling cargo attempts to discern the profit and/or loss, which is helpful to gauge BGS
impact. But the player journal does not tell the amount of profit in the sell message.
So the tool looks for a buy a message related to the same commodity, and calculates loss
and/or profit from that. If the buy of the commodity is not within the time and date range,
or some other shenanigans happen that the tool does not yet support, the profit/loss could
be wrong. You can use the "Adjust Trade Profit" button to manually adjust the trade profit,
or you could simply edit the discord log manually.
Please note that cartography data, and micro resources only help the controlling faction
of a station. The tool is clever enough to exclude these if the station you turn them in at, is not
controlled by the faction you specified in the objective.
Some missions may show up having zero influence for the given faction. This happens if you do
missions for a faction which is currently in an election state. You do not gain influence for
the faction so the influence reads as zero. But you contribute towards the election, so the
missions are selected anyway.
There is no entry in the journal if you win a combat zone. So you have to add those manually. Select
an objective for which you wish to log a combat zone. The faction in the objective, must be the
faction you fought for in the combat zone. Then click "Add Combat Zone Win". Select type,
@ -53,42 +38,26 @@ either "On Foot" for Odyssey, or "Ship" for regular ones. Then select the grade
high), and how many you won. Then press "Accept". Select "Cancel" to abort. You can of course remove
the combat zone entries by selecting them, and pressing "DEL".
If you deliberately fail a mission (to log negative INF towards a faction), the tool cannot detect
it, if the day you accepted the mission is outside of the given date range. It needs the journal
entry where you accept the mission to connect the mission to a faction, system and station. The tool
will warn you if this happens, with a message in the error log in the fourth tab.
When committing murder, the journal entry contains the faction information of the faction that gave
you the bounty. And not the faction of the victim. The tool will look for an event in which you
scanned your victim, and gleem the victim's faction from that. If you did not scan your victim, then
sadly the tool cannot connect the victim's faction to the victim.
![Main Window with entries](main-page.png)
![Main Window with entries](main-entries.png)
The window will then list all the journal entries it has found, and group them by objectives. You
can select which objectives you wish to report, by using the checkmarks.
can remove individual entries (if you think the tool detected soemthing you thought was wrong), by
selecting the entry, and pressing the "DEL" key.
You can exclude a specific entry within an objective by deselecting the checkbox next to them.
This way said entry will not appear in the final log. You can also remove individual entries
(if you think the tool detected something you thought was wrong), by selecting the entry,
and pressing the "DEL" key.
Once you are satisfied with the result, move to "Discord Report" tab, and click "Generate Report".
Once you are satisfied with the result, the discord report should be displayed below, ready to be
copy and pasted. Before you copy/paste it into the discord of your squadron, you should check the log.
You can of course edit it, if something is wrong or the tool itself missed something. If you want to
regenerate it, just click "Generate Log".
![Generated Report](main-report.png)
Before you copy/paste it into the discord of your squadron, you should check the log. You can of
course edit it, if something is wrong or the tool itself missed something.
## Known Issues and Bugs
### Settlement Vouchers
Settlement vouchers (aka Intel Packages) help every faction aligned with the given superpower.
So if you turn in an Imperial intel package on an imperial station, all factions aligned with
the Empire will gain a bit of INF boost. The tool currently cannot handle that. All intel packages
are displayed instead.
### Bugged bounty vouchers
Sometimes bounty vouchers are not properly recognised. This is a bug in the player journal, where
the faction information is not properly written out in the journal:
@ -103,8 +72,6 @@ the faction information is not properly written out in the journal:
Since the tool does not know for which faction these bounties were redeemed for, it cannot assign
it to an objective.
### Combat Zones
The player journal currently does not make an entry when you win or lose a combat zone. This is a
an ommission from FDev:
@ -112,102 +79,21 @@ an ommission from FDev:
Please upvote the issue to get it fixed. Until then, you have to add combat zone wins manually.
### On-Foot NPC givers
Also missions accepted from NPCs in Odyssey concourses do not get a player journal entry. This is
also an ommission from FDev:
Up until update 13 missions accepted from NPCs in Odyssey concourses do not get a player journal entry.
This has been fixed in update 13. Any on foot missions from NPCs accepted before update 13, do not have
an entry in the player journal.
* [https://issues.frontierstore.net/issue-detail/43586](https://issues.frontierstore.net/issue-detail/43586)
### Failed vs. Abandoned Missions
Until this is fixed, please edit the resulting BGS log text, and manually add such entries.
The tool also currently cannot differentiate between missions you have abandoned in the transaction
tab before it was completed, and those that you have failed - either delibaretly or by time-out. So
it will find and add them all, and you simply can remove those that you have abandoned manually.
## Use EDDB information
### Influence given to empty/non-existent faction
EliteBGS can download information from EDDB to auto complete system- and station names. You can
enable its use in the "Settings". Once enabled, you must also press "Download", to download and
process the current version of the EDDB database.
Sometimes the log will state that it gave positive or negative influence to a faction, but the
faction name is empty:
```
"FactionEffects": [
{
"Faction": "",
"Effects": [
{
"Effect": "$MISSIONUTIL_Interaction_Summary_EP_down;",
"Effect_Localised": "The economic status of $#MinorFaction; has declined in the $#System; system.",
"Trend": "DownBad"
}
],
"Influence": [
{
"SystemAddress": 251012319587,
"Trend": "DownBad",
"Influence": "+"
}
],
"ReputationTrend": "DownBad",
"Reputation": "+"
}
]
```
This happens for example if you do a scan/heist mission from a surface POI, but no one owns said
surface POI. Randomly generated surface POIs sometimes have no owner, and said non-existant owner
then gets the negative influence.
### Mission Completed but no one gains influence
Sometimes missions are completed but no one gains any influence:
```
{
"timestamp": "2022-02-25T21:30:45Z",
"event": "MissionCompleted",
"Faction": "Social LHS 6103 Confederation",
"Name": "Mission_Courier_Elections_name",
"MissionID": 850025233,
"TargetFaction": "Delphin Blue Federal PLC",
"DestinationSystem": "Delphin",
"DestinationStation": "Aristotle Orbital",
"Reward": 122300,
"FactionEffects": [
{
"Faction": "Social LHS 6103 Confederation",
"Effects": [
{
"Effect": "$MISSIONUTIL_Interaction_Summary_EP_up;",
"Effect_Localised": "The economic status of $#MinorFaction; has improved in the $#System; system.",
"Trend": "UpGood"
}
],
"Influence": [],
"ReputationTrend": "UpGood",
"Reputation": "+"
},
{
"Faction": "Delphin Blue Federal PLC",
"Effects": [],
"Influence": [],
"ReputationTrend": "UpGood",
"Reputation": "+"
}
]
}
```
Here the is known that at the time of completion the Confederation was in an Election and could not
have gained any influence regardless. It is unclear whether this also holds true for Delphin Blue
Federal PLC. So to be save, the tool assumes that if no influence was gained for the source faction,
it still has to make an entry for the source system. The same applies for the target faction: if no
influence is gained for the target faction, still add an entry for the target faction in the missions
target system.
Since it is not possible to differentiate between missions that give no influence no matter what, and
no influence gained because of an election, we have to assume it *gave* influence and let the user
decide whether it was because of an election, or not.
Future tool versions should probably take faction states into account in such matters.
Please note that the database is rather large (>200 MB), and processing it takes some time. It is
best if you don't use this feature if you are on a slow or metered internet connection.
## Nothing's Perfect
@ -231,6 +117,6 @@ And of course, `Newtonsoft.Json` as the JSON parser.
## About
This tool was made by CMDR Hekateh (Discord: `nola#2457`).
This tool was made by CMDR Hekateh (Discord: `nola#2457`) of Vulcan Industrial Ventures.
Long live the Empire.

File diff suppressed because one or more lines are too long

View File

@ -1,109 +0,0 @@
{"timestamp":"2022-02-11T14:03:05Z","event":"Location","Docked":true,"StationName":"Wyeth Platform","StationType":"Outpost","MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"StarSystem":"Dewikum","SystemAddress":9467315955081,"StarPos":[19.375,-0.28125,-68.9375],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Refinery;","SystemEconomy_Localised":"Refinery","SystemSecondEconomy":"$economy_Extraction;","SystemSecondEconomy_Localised":"Extraction","SystemGovernment":"$government_Democracy;","SystemGovernment_Localised":"Democracy","SystemSecurity":"$SYSTEM_SECURITY_low;","SystemSecurity_Localised":"Low Security","Population":83688,"Body":"Wyeth Platform","BodyID":48,"BodyType":"Station","Powers":["Zachary Hudson"],"PowerplayState":"Exploited","Factions":[{"Name":"LHS 1857 Jet Galactic Systems","FactionState":"War","Government":"Corporate","Influence":0.113095,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"War"}]},{"Name":"Social LHS 6103 Confederation","FactionState":"None","Government":"Confederacy","Influence":0.18254,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":57.18,"PendingStates":[{"State":"Boom","Trend":0}]},{"Name":"Susanoo Jet Fortune Corporation","FactionState":"None","Government":"Corporate","Influence":0.061508,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Dewikum League","FactionState":"War","Government":"Confederacy","Influence":0.113095,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":28.57,"ActiveStates":[{"State":"War"}]},{"Name":"Dewikum Blue Ring","FactionState":"Bust","Government":"Anarchy","Influence":0.012897,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"RecoveringStates":[{"State":"Outbreak","Trend":0}],"ActiveStates":[{"State":"Bust"}]},{"Name":"Silver Dynamic Limited","FactionState":"None","Government":"Corporate","Influence":0.054563,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Flotta Stellare","FactionState":"None","Government":"Democracy","Influence":0.462302,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-15.0,"PendingStates":[{"State":"Expansion","Trend":0}]}],"SystemFaction":{"Name":"Flotta Stellare"},"Conflicts":[{"WarType":"war","Status":"active","Faction1":{"Name":"LHS 1857 Jet Galactic Systems","Stake":"Barnett Dredging Complex","WonDays":0},"Faction2":{"Name":"Dewikum League","Stake":"Singh Nutrition Site","WonDays":0}}]}
{"timestamp":"2022-02-11T14:03:06Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222534.506189}
{"timestamp":"2022-02-11T14:03:40Z","event":"MissionAccepted","Faction":"Social LHS 6103 Confederation","Name":"MISSION_Salvage_Refinery","LocalisedName":"Black Box Salvage Contract for Refinery","Commodity":"$USSCargoBlackBox_Name;","Commodity_Localised":"Black Box","Count":3,"DestinationSystem":"Breksta","DestinationStation":"Popper Dock","Expiry":"2022-02-15T19:22:16Z","Wing":false,"Influence":"++","Reputation":"++","Reward":1444937,"MissionID":845707326}
{"timestamp":"2022-02-11T14:06:01Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":222534.47697}
{"timestamp":"2022-02-11T14:09:10Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222534.447441}
{"timestamp":"2022-02-11T14:10:12Z","event":"ShipTargeted","TargetLocked":true,"Ship":"eagle","ScanStage":0}
{"timestamp":"2022-02-11T14:10:13Z","event":"ShipTargeted","TargetLocked":false}
{"timestamp":"2022-02-11T14:10:27Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222534.434948}
{"timestamp":"2022-02-11T14:13:13Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":222534.40825}
{"timestamp":"2022-02-11T14:24:32Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Matucae","SystemAddress":3343405517163,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":99.450287}
{"timestamp":"2022-02-11T14:43:35Z","event":"Docked","StationName":"Dumont Survey","StationType":"Outpost","StarSystem":"Matucae","SystemAddress":3343405517163,"MarketID":3224413952,"StationFaction":{"Name":"Peraesii Empire Consulate","FactionState":"Expansion"},"StationGovernment":"$government_Patronage;","StationGovernment_Localised":"Patronage","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","rearm","refuel","repair","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Extraction;","StationEconomy_Localised":"Extraction","StationEconomies":[{"Name":"$economy_Extraction;","Name_Localised":"Extraction","Proportion":0.87},{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":0.13}],"DistFromStarLS":99.362961}
{"timestamp":"2022-02-11T14:44:03Z","event":"MissionAccepted","Faction":"Peraesii Empire Consulate","Name":"MISSION_Salvage_Expansion","LocalisedName":"Rare Artwork Salvage for Expansion Effort","Commodity":"$USSCargoRareArtwork_Name;","Commodity_Localised":"Rare Artwork","Count":4,"DestinationSystem":"HIP 10694","DestinationStation":"Bayer Orbital","Expiry":"2022-02-17T10:17:47Z","Wing":false,"Influence":"++","Reputation":"++","Reward":1662874,"MissionID":845715730}
{"timestamp":"2022-02-11T14:44:10Z","event":"MissionAccepted","Faction":"Peraesii Empire Consulate","Name":"Mission_Assassinate","LocalisedName":"Assassinate Known Pirate: Graham Ethan Dean II","TargetType":"$MissionUtil_FactionTag_PirateLord;","TargetType_Localised":"Known Pirate","TargetFaction":"HIP 11263 Silver Mafia","DestinationSystem":"HIP 11263","DestinationStation":"Froud Station","Target":"Graham Ethan Dean II","Expiry":"2022-02-12T14:43:53Z","Wing":true,"Influence":"++","Reputation":"++","Reward":4653914,"MissionID":845715773}
{"timestamp":"2022-02-11T14:44:14Z","event":"MissionAccepted","Faction":"Peraesii Empire Consulate","Name":"MISSION_Salvage_Expansion","LocalisedName":"Rare Artwork Salvage for Expansion Effort","Commodity":"$USSCargoRareArtwork_Name;","Commodity_Localised":"Rare Artwork","Count":4,"DestinationSystem":"Blodyaks","DestinationStation":"Leonard Port","Expiry":"2022-02-14T05:17:39Z","Wing":false,"Influence":"++","Reputation":"++","Reward":829065,"MissionID":845715789}
{"timestamp":"2022-02-12T18:23:13Z","event":"Location","Docked":true,"StationName":"J9F-G0M","StationType":"FleetCarrier","MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"StarSystem":"Dewikum","SystemAddress":9467315955081,"StarPos":[19.375,-0.28125,-68.9375],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Refinery;","SystemEconomy_Localised":"Refinery","SystemSecondEconomy":"$economy_Extraction;","SystemSecondEconomy_Localised":"Extraction","SystemGovernment":"$government_Democracy;","SystemGovernment_Localised":"Democracy","SystemSecurity":"$SYSTEM_SECURITY_low;","SystemSecurity_Localised":"Low Security","Population":83688,"Body":"Dewikum B 1","BodyID":19,"BodyType":"Planet","Powers":["Zachary Hudson"],"PowerplayState":"Exploited","Factions":[{"Name":"LHS 1857 Jet Galactic Systems","FactionState":"War","Government":"Corporate","Influence":0.112983,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"War"}]},{"Name":"Social LHS 6103 Confederation","FactionState":"Boom","Government":"Confederacy","Influence":0.194252,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":53.220001,"ActiveStates":[{"State":"Boom"}]},{"Name":"Susanoo Jet Fortune Corporation","FactionState":"None","Government":"Corporate","Influence":0.068385,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Dewikum League","FactionState":"War","Government":"Confederacy","Influence":0.112983,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":28.57,"ActiveStates":[{"State":"War"}]},{"Name":"Dewikum Blue Ring","FactionState":"Bust","Government":"Anarchy","Influence":0.013875,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"RecoveringStates":[{"State":"Outbreak","Trend":0}],"ActiveStates":[{"State":"Bust"}]},{"Name":"Silver Dynamic Limited","FactionState":"None","Government":"Corporate","Influence":0.060456,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Flotta Stellare","FactionState":"None","Government":"Democracy","Influence":0.437066,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-15.0,"PendingStates":[{"State":"Expansion","Trend":0}]}],"SystemFaction":{"Name":"Flotta Stellare"},"Conflicts":[{"WarType":"war","Status":"active","Faction1":{"Name":"LHS 1857 Jet Galactic Systems","Stake":"Barnett Dredging Complex","WonDays":0},"Faction2":{"Name":"Dewikum League","Stake":"Singh Nutrition Site","WonDays":0}}]}
{"timestamp":"2022-02-12T18:23:14Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":222517.703693}
{"timestamp":"2022-02-12T18:25:43Z","event":"ShipTargeted","TargetLocked":true,"Ship":"eagle","ScanStage":1,"PilotName":"$ShipName_Police_Independent;","PilotName_Localised":"System Authority Vessel","PilotRank":"Master"}
{"timestamp":"2022-02-12T18:25:43Z","event":"ShipTargeted","TargetLocked":false}
{"timestamp":"2022-02-12T18:26:32Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":222517.672751}
{"timestamp":"2022-02-12T18:33:41Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222517.599345}
{"timestamp":"2022-02-12T18:36:13Z","event":"MissionAccepted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Delivery_Boom","LocalisedName":"Boom time delivery of 147 units of Aluminium","Commodity":"$Aluminium_Name;","Commodity_Localised":"Aluminium","Count":147,"TargetFaction":"Silver Dynamic Limited","DestinationSystem":"BD+08 1303","DestinationStation":"Wescott Terminal","Expiry":"2022-02-13T18:34:42Z","Wing":false,"Influence":"++","Reputation":"++","Reward":634054,"MissionID":846168214}
{"timestamp":"2022-02-12T18:36:18Z","event":"MissionAccepted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Delivery_Boom","LocalisedName":"Boom time delivery of 147 units of Tritium","Commodity":"$Tritium_Name;","Commodity_Localised":"Tritium","Count":147,"TargetFaction":"Traditional Nihursaga Dominion","DestinationSystem":"Nihursaga","DestinationStation":"Hardwick Hub","Expiry":"2022-02-13T18:34:42Z","Wing":false,"Influence":"++","Reputation":"++","Reward":5304324,"MissionID":846168240}
{"timestamp":"2022-02-12T19:21:10Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222517.162798}
{"timestamp":"2022-02-12T19:26:10Z","event":"MissionCompleted","Faction":"Social LHS 6103 Confederation","Name":"MISSION_Salvage_Illegal_name","MissionID":845534002,"Commodity":"$USSCargoBlackBox_Name;","Commodity_Localised":"Black Box","Count":3,"NewDestinationSystem":"Dewikum","DestinationSystem":"Julanggarri","Reward":116651,"FactionEffects":[{"Faction":"Social LHS 6103 Confederation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":9467315955081,"Trend":"UpGood","Influence":"+++++"}],"ReputationTrend":"UpGood","Reputation":"++"},{"Faction":"Flotta Stellare","Effects":[],"Influence":[{"SystemAddress":9467315955089,"Trend":"DownBad","Influence":"+"}],"ReputationTrend":"DownBad","Reputation":"+"}]}
{"timestamp":"2022-02-12T19:26:14Z","event":"MissionCompleted","Faction":"Social LHS 6103 Confederation","Name":"MISSION_Salvage_Refinery_name","MissionID":845707326,"Commodity":"$USSCargoBlackBox_Name;","Commodity_Localised":"Black Box","Count":3,"NewDestinationSystem":"Dewikum","DestinationSystem":"Breksta","NewDestinationStation":"Wyeth Platform","DestinationStation":"Popper Dock","Reward":1444937,"FactionEffects":[{"Faction":"Social LHS 6103 Confederation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":9467315955081,"Trend":"UpGood","Influence":"+++"}],"ReputationTrend":"UpGood","Reputation":"++"},{"Faction":"","Effects":[],"Influence":[{"SystemAddress":147933104483,"Trend":"DownBad","Influence":"+"}],"ReputationTrend":"DownBad","Reputation":"+"}]}
{"timestamp":"2022-02-12T19:27:51Z","event":"MissionAccepted","Faction":"Social LHS 6103 Confederation","Name":"Chain_SalvageJustice","LocalisedName":"Assassinate Known Pirate: Zuriel Z'ev","TargetType":"$MissionUtil_FactionTag_PirateLord;","TargetType_Localised":"Known Pirate","TargetFaction":"Wong Sher Jet Ring","DestinationSystem":"Wong Sher","DestinationStation":"Zudov City","Target":"Zuriel Z'ev","Expiry":"2022-02-13T19:27:00Z","Wing":false,"Influence":"++","Reputation":"++","Reward":3129026,"MissionID":846188327}
{"timestamp":"2022-02-12T19:27:58Z","event":"MissionAccepted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Assassinate","LocalisedName":"Assassinate Known Pirate: Helders","TargetType":"$MissionUtil_FactionTag_PirateLord;","TargetType_Localised":"Known Pirate","TargetFaction":"Wong Sher Jet Ring","DestinationSystem":"Wong Sher","DestinationStation":"Zudov City","Target":"Helders","Expiry":"2022-02-13T19:26:02Z","Wing":true,"Influence":"++","Reputation":"++","Reward":3578406,"MissionID":846188378}
{"timestamp":"2022-02-12T19:29:44Z","event":"FSDJump","StarSystem":"Nihursaga","SystemAddress":2999791389027,"StarPos":[24.0625,9.3125,-62.875],"SystemAllegiance":"Federation","SystemEconomy":"$economy_Industrial;","SystemEconomy_Localised":"Industrial","SystemSecondEconomy":"$economy_None;","SystemSecondEconomy_Localised":"None","SystemGovernment":"$government_Confederacy;","SystemGovernment_Localised":"Confederacy","SystemSecurity":"$SYSTEM_SECURITY_medium;","SystemSecurity_Localised":"Medium Security","Population":2785745,"Body":"Nihursaga A","BodyID":3,"BodyType":"Star","Powers":["Zachary Hudson"],"PowerplayState":"Exploited","JumpDist":12.279,"FuelUsed":1.19087,"FuelLevel":30.80913,"Factions":[{"Name":"Labour of LTT 12033","FactionState":"None","Government":"Democracy","Influence":0.187375,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"LP 421-7 Systems","FactionState":"None","Government":"Corporate","Influence":0.134269,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Nihursaga Coalition","FactionState":"None","Government":"Confederacy","Influence":0.278557,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Nihursaga United Exchange","FactionState":"None","Government":"Corporate","Influence":0.103206,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Traditional Nihursaga Dominion","FactionState":"None","Government":"Dictatorship","Influence":0.089178,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"RecoveringStates":[{"State":"PublicHoliday","Trend":0}]},{"Name":"Zandu Progressive Party","FactionState":"None","Government":"Democracy","Influence":0.128257,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Nihursaga Crimson Boys","FactionState":"None","Government":"Anarchy","Influence":0.079158,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0}],"SystemFaction":{"Name":"Nihursaga Coalition"}}
{"timestamp":"2022-02-12T19:45:36Z","event":"Docked","StationName":"Hardwick Hub","StationType":"Coriolis","StarSystem":"Nihursaga","SystemAddress":2999791389027,"MarketID":3228194304,"StationFaction":{"Name":"Nihursaga Coalition"},"StationGovernment":"$government_Confederacy;","StationGovernment_Localised":"Confederacy","StationAllegiance":"Federation","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Industrial;","StationEconomy_Localised":"Industrial","StationEconomies":[{"Name":"$economy_Industrial;","Name_Localised":"Industrial","Proportion":1.0}],"DistFromStarLS":231829.462342}
{"timestamp":"2022-02-12T19:47:21Z","event":"MissionCompleted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Delivery_Boom_name","MissionID":846168240,"Commodity":"$Tritium_Name;","Commodity_Localised":"Tritium","Count":147,"TargetFaction":"Traditional Nihursaga Dominion","DestinationSystem":"Nihursaga","DestinationStation":"Hardwick Hub","Reward":2898324,"FactionEffects":[{"Faction":"Traditional Nihursaga Dominion","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":2999791389027,"Trend":"UpGood","Influence":"+++++"}],"ReputationTrend":"UpGood","Reputation":"++"},{"Faction":"Social LHS 6103 Confederation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":9467315955081,"Trend":"UpGood","Influence":"+++++"}],"ReputationTrend":"UpGood","Reputation":"++"}]}
{"timestamp":"2022-02-12T19:49:52Z","event":"FSDJump","StarSystem":"BD+08 1303","SystemAddress":1774715485,"StarPos":[25.53125,-1.875,-62.84375],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Industrial;","SystemEconomy_Localised":"Industrial","SystemSecondEconomy":"$economy_Refinery;","SystemSecondEconomy_Localised":"Refinery","SystemGovernment":"$government_Democracy;","SystemGovernment_Localised":"Democracy","SystemSecurity":"$SYSTEM_SECURITY_high;","SystemSecurity_Localised":"High Security","Population":20853922,"Body":"BD+08 1303 A","BodyID":1,"BodyType":"Star","JumpDist":11.284,"FuelUsed":0.591609,"FuelLevel":31.40839,"Factions":[{"Name":"Green Party of BD+08 1303","FactionState":"Boom","Government":"Democracy","Influence":0.093186,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"Boom"}]},{"Name":"Allied BD+08 1303 Bureau","FactionState":"None","Government":"Dictatorship","Influence":0.059118,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"BD+08 1303 Jet Legal Industries","FactionState":"None","Government":"Corporate","Influence":0.142285,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Silver Dynamic Limited","FactionState":"None","Government":"Corporate","Influence":0.078156,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"RecoveringStates":[{"State":"PublicHoliday","Trend":0}]},{"Name":"BD+08 1303 Drug Empire","FactionState":"Bust","Government":"Anarchy","Influence":0.01002,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-17.16,"ActiveStates":[{"State":"Bust"}]},{"Name":"United BD+08 1303 First","FactionState":"None","Government":"Dictatorship","Influence":0.074148,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Flotta Stellare","FactionState":"None","Government":"Democracy","Influence":0.543086,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-18.959999,"PendingStates":[{"State":"Expansion","Trend":0}]}],"SystemFaction":{"Name":"Flotta Stellare"}}
{"timestamp":"2022-02-12T19:58:10Z","event":"Location","Docked":false,"StarSystem":"BD+08 1303","SystemAddress":1774715485,"StarPos":[25.53125,-1.875,-62.84375],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Industrial;","SystemEconomy_Localised":"Industrial","SystemSecondEconomy":"$economy_Refinery;","SystemSecondEconomy_Localised":"Refinery","SystemGovernment":"$government_Democracy;","SystemGovernment_Localised":"Democracy","SystemSecurity":"$SYSTEM_SECURITY_high;","SystemSecurity_Localised":"High Security","Population":20853922,"Body":"BD+08 1303 AB 10","BodyID":29,"BodyType":"Planet","Factions":[{"Name":"Green Party of BD+08 1303","FactionState":"Boom","Government":"Democracy","Influence":0.093186,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"Boom"}]},{"Name":"Allied BD+08 1303 Bureau","FactionState":"None","Government":"Dictatorship","Influence":0.059118,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"BD+08 1303 Jet Legal Industries","FactionState":"None","Government":"Corporate","Influence":0.142285,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Silver Dynamic Limited","FactionState":"None","Government":"Corporate","Influence":0.078156,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"RecoveringStates":[{"State":"PublicHoliday","Trend":0}]},{"Name":"BD+08 1303 Drug Empire","FactionState":"Bust","Government":"Anarchy","Influence":0.01002,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-17.16,"ActiveStates":[{"State":"Bust"}]},{"Name":"United BD+08 1303 First","FactionState":"None","Government":"Dictatorship","Influence":0.074148,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Flotta Stellare","FactionState":"None","Government":"Democracy","Influence":0.543086,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-18.959999,"PendingStates":[{"State":"Expansion","Trend":0}]}],"SystemFaction":{"Name":"Flotta Stellare"}}
{"timestamp":"2022-02-12T20:01:09Z","event":"ShipTargeted","TargetLocked":true,"Ship":"independant_trader","Ship_Localised":"Keelback","ScanStage":0}
{"timestamp":"2022-02-12T20:01:14Z","event":"ShipTargeted","TargetLocked":true,"Ship":"independant_trader","Ship_Localised":"Keelback","ScanStage":1,"PilotName":"$npc_name_decorate:#name=Tim Longworth;","PilotName_Localised":"Tim Longworth","PilotRank":"Harmless"}
{"timestamp":"2022-02-12T20:01:16Z","event":"ShipTargeted","TargetLocked":true,"Ship":"independant_trader","Ship_Localised":"Keelback","ScanStage":2,"PilotName":"$npc_name_decorate:#name=Tim Longworth;","PilotName_Localised":"Tim Longworth","PilotRank":"Harmless","ShieldHealth":100.0,"HullHealth":100.0}
{"timestamp":"2022-02-12T20:01:18Z","event":"ShipTargeted","TargetLocked":true,"Ship":"independant_trader","Ship_Localised":"Keelback","ScanStage":3,"PilotName":"$npc_name_decorate:#name=Tim Longworth;","PilotName_Localised":"Tim Longworth","PilotRank":"Harmless","ShieldHealth":100.0,"HullHealth":100.0,"Faction":"Allied BD+08 1303 Bureau","LegalStatus":"Clean"}
{"timestamp":"2022-02-12T20:02:01Z","event":"ShipTargeted","TargetLocked":false}
{"timestamp":"2022-02-12T20:02:45Z","event":"Docked","StationName":"Wescott Terminal","StationType":"Outpost","StarSystem":"BD+08 1303","SystemAddress":1774715485,"MarketID":3227868416,"StationFaction":{"Name":"BD+08 1303 Jet Legal Industries"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Federation","StationServices":["dock","autodock","commodities","contacts","exploration","missions","repair","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Industrial;","StationEconomy_Localised":"Industrial","StationEconomies":[{"Name":"$economy_Industrial;","Name_Localised":"Industrial","Proportion":0.67},{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":0.33}],"DistFromStarLS":6466.914589}
{"timestamp":"2022-02-12T20:10:52Z","event":"MissionCompleted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Delivery_Boom_name","MissionID":846168214,"Commodity":"$Aluminium_Name;","Commodity_Localised":"Aluminium","Count":147,"TargetFaction":"Silver Dynamic Limited","DestinationSystem":"BD+08 1303","DestinationStation":"Wescott Terminal","Reward":114751,"FactionEffects":[{"Faction":"Social LHS 6103 Confederation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":9467315955081,"Trend":"UpGood","Influence":"+++++"}],"ReputationTrend":"UpGood","Reputation":"++"},{"Faction":"Silver Dynamic Limited","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":1774715485,"Trend":"UpGood","Influence":"++++"}],"ReputationTrend":"UpGood","Reputation":"++"}]}
{"timestamp":"2022-02-12T20:20:54Z","event":"FSDJump","StarSystem":"Wong Sher","SystemAddress":6680989405898,"StarPos":[16.46875,4.0625,-60.5],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Refinery;","SystemEconomy_Localised":"Refinery","SystemSecondEconomy":"$economy_Extraction;","SystemSecondEconomy_Localised":"Extraction","SystemGovernment":"$government_Democracy;","SystemGovernment_Localised":"Democracy","SystemSecurity":"$SYSTEM_SECURITY_medium;","SystemSecurity_Localised":"Medium Security","Population":132659,"Body":"Wong Sher","BodyID":0,"BodyType":"Star","Powers":["Zachary Hudson"],"PowerplayState":"Exploited","JumpDist":11.085,"FuelUsed":0.304729,"FuelLevel":31.103661,"Factions":[{"Name":"Wong Sher Public Co","FactionState":"None","Government":"Corporate","Influence":0.076389,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Wong Sher Confederacy","FactionState":"None","Government":"Confederacy","Influence":0.047619,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Wong Sher Jet Ring","FactionState":"None","Government":"Anarchy","Influence":0.009921,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-5.94},{"Name":"Wong Sher Nobles","FactionState":"None","Government":"Feudal","Influence":0.049603,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Wong Sher Federal Incorporated","FactionState":"None","Government":"Corporate","Influence":0.043651,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Civitas Dei","FactionState":"Expansion","Government":"Dictatorship","Influence":0.089286,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"Expansion"}]},{"Name":"Flotta Stellare","FactionState":"Boom","Government":"Democracy","Influence":0.683532,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-18.959999,"PendingStates":[{"State":"Expansion","Trend":0}],"ActiveStates":[{"State":"Boom"}]}],"SystemFaction":{"Name":"Flotta Stellare","FactionState":"Boom"}}
{"timestamp":"2022-02-12T20:23:49Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Wong Sher","SystemAddress":6680989405898,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":0.0}
{"timestamp":"2022-02-12T20:25:06Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Wong Sher","SystemAddress":6680989405898,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":0.0}
{"timestamp":"2022-02-12T20:40:59Z","event":"ShipTargeted","TargetLocked":true,"Ship":"asp","Ship_Localised":"Asp Explorer","ScanStage":0}
{"timestamp":"2022-02-12T20:40:59Z","event":"ShipTargeted","TargetLocked":true,"Ship":"ferdelance","Ship_Localised":"Fer-de-Lance","ScanStage":0}
{"timestamp":"2022-02-12T20:41:04Z","event":"ShipTargeted","TargetLocked":true,"Ship":"ferdelance","Ship_Localised":"Fer-de-Lance","ScanStage":1,"PilotName":"$npc_name_decorate:#name=Helders;","PilotName_Localised":"Helders","PilotRank":"Dangerous"}
{"timestamp":"2022-02-12T20:41:06Z","event":"ShipTargeted","TargetLocked":true,"Ship":"ferdelance","Ship_Localised":"Fer-de-Lance","ScanStage":2,"PilotName":"$npc_name_decorate:#name=Helders;","PilotName_Localised":"Helders","PilotRank":"Dangerous","ShieldHealth":100.0,"HullHealth":100.0}
{"timestamp":"2022-02-12T20:41:18Z","event":"ShipTargeted","TargetLocked":true,"Ship":"ferdelance","Ship_Localised":"Fer-de-Lance","ScanStage":3,"PilotName":"$npc_name_decorate:#name=Helders;","PilotName_Localised":"Helders","PilotRank":"Dangerous","ShieldHealth":78.305588,"HullHealth":100.0,"Faction":"Wong Sher Jet Ring","LegalStatus":"Wanted","Bounty":166260}
{"timestamp":"2022-02-12T20:41:34Z","event":"ShipTargeted","TargetLocked":true,"Ship":"anaconda","ScanStage":0}
{"timestamp":"2022-02-12T20:41:34Z","event":"ShipTargeted","TargetLocked":true,"Ship":"anaconda","ScanStage":1,"PilotName":"$npc_name_decorate:#name=Zuriel Z'ev;","PilotName_Localised":"Zuriel Z'ev","PilotRank":"Master"}
{"timestamp":"2022-02-12T20:41:37Z","event":"ShipTargeted","TargetLocked":true,"Ship":"anaconda","ScanStage":2,"PilotName":"$npc_name_decorate:#name=Zuriel Z'ev;","PilotName_Localised":"Zuriel Z'ev","PilotRank":"Master","ShieldHealth":68.543312,"HullHealth":100.0}
{"timestamp":"2022-02-12T20:41:42Z","event":"ShipTargeted","TargetLocked":true,"Ship":"anaconda","ScanStage":3,"PilotName":"$npc_name_decorate:#name=Zuriel Z'ev;","PilotName_Localised":"Zuriel Z'ev","PilotRank":"Master","ShieldHealth":28.554476,"HullHealth":100.0,"Faction":"Wong Sher Jet Ring","LegalStatus":"Wanted","Bounty":122639}
{"timestamp":"2022-02-12T20:42:14Z","event":"ShipTargeted","TargetLocked":false}
{"timestamp":"2022-02-12T20:42:17Z","event":"ShipTargeted","TargetLocked":true,"Ship":"ferdelance","Ship_Localised":"Fer-de-Lance","ScanStage":3,"PilotName":"$npc_name_decorate:#name=Helders;","PilotName_Localised":"Helders","PilotRank":"Dangerous","ShieldHealth":67.207306,"HullHealth":100.0,"Faction":"Wong Sher Jet Ring","LegalStatus":"Wanted","Bounty":166260}
{"timestamp":"2022-02-12T20:44:30Z","event":"ShipTargeted","TargetLocked":false}
{"timestamp":"2022-02-12T20:48:35Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Wong Sher","SystemAddress":6680989405898,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":0.0}
{"timestamp":"2022-02-12T20:49:33Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Wong Sher","SystemAddress":6680989405898,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":0.0}
{"timestamp":"2022-02-12T21:03:22Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":222516.223544}
{"timestamp":"2022-02-12T21:08:27Z","event":"ShipTargeted","TargetLocked":true,"Ship":"independant_trader","Ship_Localised":"Keelback","ScanStage":0}
{"timestamp":"2022-02-12T21:08:31Z","event":"ShipTargeted","TargetLocked":true,"Ship":"independant_trader","Ship_Localised":"Keelback","ScanStage":1,"PilotName":"$npc_name_decorate:#name=Finius Butterworth;","PilotName_Localised":"Finius Butterworth","PilotRank":"Harmless"}
{"timestamp":"2022-02-12T21:08:33Z","event":"ShipTargeted","TargetLocked":true,"Ship":"independant_trader","Ship_Localised":"Keelback","ScanStage":2,"PilotName":"$npc_name_decorate:#name=Finius Butterworth;","PilotName_Localised":"Finius Butterworth","PilotRank":"Harmless","ShieldHealth":100.0,"HullHealth":100.0}
{"timestamp":"2022-02-12T21:08:34Z","event":"ShipTargeted","TargetLocked":false}
{"timestamp":"2022-02-12T21:08:46Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare","FactionState":"Boom"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222516.184822}
{"timestamp":"2022-02-12T21:09:30Z","event":"MissionCompleted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Assassinate_name","MissionID":846188378,"TargetType":"$MissionUtil_FactionTag_PirateLord;","TargetType_Localised":"Known Pirate","TargetFaction":"Wong Sher Jet Ring","NewDestinationSystem":"Dewikum","DestinationSystem":"Wong Sher","NewDestinationStation":"Wyeth Platform","DestinationStation":"Zudov City","Target":"Helders","Reward":1172406,"FactionEffects":[{"Faction":"Social LHS 6103 Confederation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":9467315955081,"Trend":"UpGood","Influence":"+++++"}],"ReputationTrend":"UpGood","Reputation":"++"},{"Faction":"","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_down;","Effect_Localised":"The economic status of $#MinorFaction; has declined in the $#System; system.","Trend":"DownBad"}],"Influence":[{"SystemAddress":6680989405898,"Trend":"DownBad","Influence":"+"}],"ReputationTrend":"DownBad","Reputation":"+"}]}
{"timestamp":"2022-02-12T21:09:35Z","event":"MissionCompleted","Faction":"Social LHS 6103 Confederation","Name":"Chain_SalvageJustice_name","MissionID":846188327,"TargetType":"$MissionUtil_FactionTag_PirateLord;","TargetType_Localised":"Known Pirate","TargetFaction":"Wong Sher Jet Ring","NewDestinationSystem":"Dewikum","DestinationSystem":"Wong Sher","NewDestinationStation":"Wyeth Platform","DestinationStation":"Zudov City","Target":"Zuriel Z'ev","Reward":1371028,"FactionEffects":[{"Faction":"Social LHS 6103 Confederation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":9467315955081,"Trend":"UpGood","Influence":"+++++"}],"ReputationTrend":"UpGood","Reputation":"++"},{"Faction":"","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_down;","Effect_Localised":"The economic status of $#MinorFaction; has declined in the $#System; system.","Trend":"DownBad"}],"Influence":[{"SystemAddress":6680989405898,"Trend":"DownBad","Influence":"+"}],"ReputationTrend":"DownBad","Reputation":"+"}]}
{"timestamp":"2022-02-12T21:13:27Z","event":"MissionAccepted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Delivery_Boom","LocalisedName":"Boom time delivery of 147 units of Titanium","Commodity":"$Titanium_Name;","Commodity_Localised":"Titanium","Count":147,"TargetFaction":"Flotta Stellare","DestinationSystem":"BD+08 1303","DestinationStation":"Chomsky Ring","Expiry":"2022-02-13T21:09:16Z","Wing":false,"Influence":"++","Reputation":"++","Reward":652891,"MissionID":846229992}
{"timestamp":"2022-02-12T21:15:43Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":222516.111284}
{"timestamp":"2022-02-12T21:18:43Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare","FactionState":"Boom"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222516.094689}
{"timestamp":"2022-02-12T21:21:45Z","event":"MissionAccepted","Faction":"Susanoo Jet Fortune Corporation","Name":"Mission_AltruismCredits","LocalisedName":"Donate 1,000,000 Cr to the cause","Donation":"1000000","Expiry":"2022-02-13T00:24:24Z","Wing":false,"Influence":"++","Reputation":"++","MissionID":846233387}
{"timestamp":"2022-02-12T21:21:46Z","event":"MissionAccepted","Faction":"Susanoo Jet Fortune Corporation","Name":"Mission_AltruismCredits","LocalisedName":"Donate 300,000 Cr to the cause","Donation":"300000","Expiry":"2022-02-13T00:31:52Z","Wing":false,"Influence":"++","Reputation":"+","MissionID":846233396}
{"timestamp":"2022-02-12T21:21:48Z","event":"MissionCompleted","Faction":"Susanoo Jet Fortune Corporation","Name":"Mission_AltruismCredits_name","MissionID":846233387,"Donation":"1000000","Donated":1000000,"FactionEffects":[{"Faction":"Susanoo Jet Fortune Corporation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":9467315955081,"Trend":"UpGood","Influence":"+++"}],"ReputationTrend":"UpGood","Reputation":"++"}]}
{"timestamp":"2022-02-12T21:21:50Z","event":"MissionCompleted","Faction":"Susanoo Jet Fortune Corporation","Name":"Mission_AltruismCredits_name","MissionID":846233396,"Donation":"300000","Donated":300000,"FactionEffects":[{"Faction":"Susanoo Jet Fortune Corporation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":9467315955081,"Trend":"UpGood","Influence":"++"}],"ReputationTrend":"UpGood","Reputation":"+"}]}
{"timestamp":"2022-02-12T21:22:01Z","event":"MissionAccepted","Faction":"Flotta Stellare","Name":"Mission_AltruismCredits","LocalisedName":"Donate 300,000 Cr to the cause","Donation":"300000","Expiry":"2022-02-13T00:46:56Z","Wing":false,"Influence":"++","Reputation":"+","MissionID":846233486}
{"timestamp":"2022-02-12T21:22:03Z","event":"MissionAccepted","Faction":"Flotta Stellare","Name":"Mission_AltruismCredits","LocalisedName":"Donate 750,000 Cr to the cause","Donation":"750000","Expiry":"2022-02-13T00:29:34Z","Wing":false,"Influence":"++","Reputation":"++","MissionID":846233498}
{"timestamp":"2022-02-12T21:25:08Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":222516.025813}
{"timestamp":"2022-02-12T21:28:07Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare","FactionState":"Boom"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222516.009596}
{"timestamp":"2022-02-12T21:30:18Z","event":"Location","Docked":true,"StationName":"Wyeth Platform","StationType":"Outpost","MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare","FactionState":"Boom"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"StarSystem":"Dewikum","SystemAddress":9467315955081,"StarPos":[19.375,-0.28125,-68.9375],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Refinery;","SystemEconomy_Localised":"Refinery","SystemSecondEconomy":"$economy_Extraction;","SystemSecondEconomy_Localised":"Extraction","SystemGovernment":"$government_Democracy;","SystemGovernment_Localised":"Democracy","SystemSecurity":"$SYSTEM_SECURITY_low;","SystemSecurity_Localised":"Low Security","Population":83688,"Body":"Wyeth Platform","BodyID":48,"BodyType":"Station","Powers":["Zachary Hudson"],"PowerplayState":"Exploited","Factions":[{"Name":"LHS 1857 Jet Galactic Systems","FactionState":"War","Government":"Corporate","Influence":0.112983,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"War"}]},{"Name":"Social LHS 6103 Confederation","FactionState":"Boom","Government":"Confederacy","Influence":0.194252,"Allegiance":"Independent","Happiness":"","MyReputation":86.220001,"ActiveStates":[{"State":"Boom"}]},{"Name":"Susanoo Jet Fortune Corporation","FactionState":"None","Government":"Corporate","Influence":0.068385,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":10.2},{"Name":"Dewikum League","FactionState":"War","Government":"Confederacy","Influence":0.112983,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":28.57,"ActiveStates":[{"State":"War"}]},{"Name":"Dewikum Blue Ring","FactionState":"Bust","Government":"Anarchy","Influence":0.013875,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"RecoveringStates":[{"State":"Outbreak","Trend":0}],"ActiveStates":[{"State":"Bust"}]},{"Name":"Silver Dynamic Limited","FactionState":"None","Government":"Corporate","Influence":0.060456,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":8.91},{"Name":"Flotta Stellare","FactionState":"Boom","Government":"Democracy","Influence":0.437066,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-18.959999,"PendingStates":[{"State":"Expansion","Trend":0}]}],"SystemFaction":{"Name":"Flotta Stellare","FactionState":"Boom"},"Conflicts":[{"WarType":"war","Status":"active","Faction1":{"Name":"LHS 1857 Jet Galactic Systems","Stake":"Barnett Dredging Complex","WonDays":0},"Faction2":{"Name":"Dewikum League","Stake":"Singh Nutrition Site","WonDays":0}}]}
{"timestamp":"2022-02-12T21:30:19Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare","FactionState":"Boom"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222515.989632}
{"timestamp":"2022-02-12T21:33:06Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":222515.953689}
{"timestamp":"2022-02-12T21:35:46Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare","FactionState":"Boom"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222515.940341}
{"timestamp":"2022-02-12T21:38:29Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":222515.904959}
{"timestamp":"2022-02-12T21:40:45Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare","FactionState":"Boom"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222515.895224}
{"timestamp":"2022-02-12T21:44:16Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":222515.852821}
{"timestamp":"2022-02-12T21:47:02Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare","FactionState":"Boom"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222515.838361}
{"timestamp":"2022-02-12T21:49:35Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":222515.804817}
{"timestamp":"2022-02-12T21:52:09Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare","FactionState":"Boom"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222515.791989}
{"timestamp":"2022-02-12T21:53:05Z","event":"MissionAccepted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Delivery_Boom","LocalisedName":"Boom time delivery of 147 units of Hydrogen Fuel","Commodity":"$HydrogenFuel_Name;","Commodity_Localised":"Hydrogen Fuel","Count":147,"TargetFaction":"Flotta Stellare","DestinationSystem":"Cosi","DestinationStation":"Arrhenius Hub","Expiry":"2022-02-13T21:41:05Z","Wing":false,"Influence":"++","Reputation":"++","Reward":677020,"MissionID":846245533}
{"timestamp":"2022-02-13T10:03:47Z","event":"Location","Docked":true,"StationName":"Wyeth Platform","StationType":"Outpost","MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"StarSystem":"Dewikum","SystemAddress":9467315955081,"StarPos":[19.375,-0.28125,-68.9375],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Refinery;","SystemEconomy_Localised":"Refinery","SystemSecondEconomy":"$economy_Extraction;","SystemSecondEconomy_Localised":"Extraction","SystemGovernment":"$government_Democracy;","SystemGovernment_Localised":"Democracy","SystemSecurity":"$SYSTEM_SECURITY_low;","SystemSecurity_Localised":"Low Security","Population":83688,"Body":"Wyeth Platform","BodyID":48,"BodyType":"Station","Powers":["Zachary Hudson"],"PowerplayState":"Exploited","Factions":[{"Name":"LHS 1857 Jet Galactic Systems","FactionState":"War","Government":"Corporate","Influence":0.112983,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"War"}]},{"Name":"Social LHS 6103 Confederation","FactionState":"Boom","Government":"Confederacy","Influence":0.194252,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":86.220001,"ActiveStates":[{"State":"Boom"}]},{"Name":"Susanoo Jet Fortune Corporation","FactionState":"None","Government":"Corporate","Influence":0.068385,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":10.2},{"Name":"Dewikum League","FactionState":"War","Government":"Confederacy","Influence":0.112983,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":28.57,"ActiveStates":[{"State":"War"}]},{"Name":"Dewikum Blue Ring","FactionState":"Bust","Government":"Anarchy","Influence":0.013875,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"RecoveringStates":[{"State":"Outbreak","Trend":0}],"ActiveStates":[{"State":"Bust"}]},{"Name":"Silver Dynamic Limited","FactionState":"None","Government":"Corporate","Influence":0.060456,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":8.91},{"Name":"Flotta Stellare","FactionState":"None","Government":"Democracy","Influence":0.437066,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-18.959999,"PendingStates":[{"State":"Expansion","Trend":0}]}],"SystemFaction":{"Name":"Flotta Stellare"},"Conflicts":[{"WarType":"war","Status":"active","Faction1":{"Name":"LHS 1857 Jet Galactic Systems","Stake":"Barnett Dredging Complex","WonDays":0},"Faction2":{"Name":"Dewikum League","Stake":"Singh Nutrition Site","WonDays":0}}]}
{"timestamp":"2022-02-13T10:03:48Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222509.791427}
{"timestamp":"2022-02-13T10:05:13Z","event":"MissionFailed","Name":"Mission_AltruismCredits_name","MissionID":846233498}
{"timestamp":"2022-02-13T10:05:15Z","event":"MissionFailed","Name":"Mission_AltruismCredits_name","MissionID":846233486}
{"timestamp":"2022-02-13T10:07:59Z","event":"FSDJump","StarSystem":"BD+08 1303","SystemAddress":1774715485,"StarPos":[25.53125,-1.875,-62.84375],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Industrial;","SystemEconomy_Localised":"Industrial","SystemSecondEconomy":"$economy_Refinery;","SystemSecondEconomy_Localised":"Refinery","SystemGovernment":"$government_Democracy;","SystemGovernment_Localised":"Democracy","SystemSecurity":"$SYSTEM_SECURITY_high;","SystemSecurity_Localised":"High Security","Population":20853922,"Body":"BD+08 1303 A","BodyID":1,"BodyType":"Star","JumpDist":8.808,"FuelUsed":0.52764,"FuelLevel":31.472361,"Factions":[{"Name":"Green Party of BD+08 1303","FactionState":"Boom","Government":"Democracy","Influence":0.093186,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"Boom"}]},{"Name":"Allied BD+08 1303 Bureau","FactionState":"None","Government":"Dictatorship","Influence":0.059118,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"BD+08 1303 Jet Legal Industries","FactionState":"None","Government":"Corporate","Influence":0.142285,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Silver Dynamic Limited","FactionState":"None","Government":"Corporate","Influence":0.078156,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":8.91,"RecoveringStates":[{"State":"PublicHoliday","Trend":0}]},{"Name":"BD+08 1303 Drug Empire","FactionState":"Bust","Government":"Anarchy","Influence":0.01002,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-17.16,"ActiveStates":[{"State":"Bust"}]},{"Name":"United BD+08 1303 First","FactionState":"None","Government":"Dictatorship","Influence":0.074148,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Flotta Stellare","FactionState":"None","Government":"Democracy","Influence":0.543086,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-25.360001,"PendingStates":[{"State":"Expansion","Trend":0}]}],"SystemFaction":{"Name":"Flotta Stellare"}}
{"timestamp":"2022-02-13T10:14:54Z","event":"Docked","StationName":"Chomsky Ring","StationType":"Coriolis","StarSystem":"BD+08 1303","SystemAddress":1774715485,"MarketID":3227868160,"StationFaction":{"Name":"Flotta Stellare"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Industrial;","StationEconomy_Localised":"Industrial","StationEconomies":[{"Name":"$economy_Industrial;","Name_Localised":"Industrial","Proportion":0.8},{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":0.2}],"DistFromStarLS":5034.539377}
{"timestamp":"2022-02-13T10:16:08Z","event":"MissionCompleted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Delivery_Boom_name","MissionID":846229992,"Commodity":"$Titanium_Name;","Commodity_Localised":"Titanium","Count":147,"TargetFaction":"Flotta Stellare","DestinationSystem":"BD+08 1303","DestinationStation":"Chomsky Ring","Reward":250613,"FactionEffects":[{"Faction":"Social LHS 6103 Confederation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":9467315955081,"Trend":"UpGood","Influence":"+++++"}],"ReputationTrend":"UpGood","Reputation":"++"},{"Faction":"Flotta Stellare","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":1774715485,"Trend":"UpGood","Influence":"+++"}],"ReputationTrend":"UpGood","Reputation":"++"}]}
{"timestamp":"2022-02-13T10:18:09Z","event":"FSDJump","StarSystem":"Cosi","SystemAddress":6406111498946,"StarPos":[24.75,-14.6875,-70.75],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Agri;","SystemEconomy_Localised":"Agriculture","SystemSecondEconomy":"$economy_Refinery;","SystemSecondEconomy_Localised":"Refinery","SystemGovernment":"$government_Democracy;","SystemGovernment_Localised":"Democracy","SystemSecurity":"$SYSTEM_SECURITY_high;","SystemSecurity_Localised":"High Security","Population":4405808790,"Body":"Cosi A","BodyID":1,"BodyType":"Star","JumpDist":15.076,"FuelUsed":1.203176,"FuelLevel":30.796824,"Factions":[{"Name":"Revolutionary Party of Cosi","FactionState":"CivilWar","Government":"Democracy","Influence":0.142292,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"CivilWar"}]},{"Name":"Cosi Holdings","FactionState":"None","Government":"Corporate","Influence":0.036561,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Cosi Flag","FactionState":"None","Government":"Dictatorship","Influence":0.018775,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Cosi Silver Raiders","FactionState":"CivilWar","Government":"Anarchy","Influence":0.142292,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"CivilWar"}]},{"Name":"Cosi PLC","FactionState":"None","Government":"Corporate","Influence":0.048419,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Star Tigers","FactionState":"None","Government":"Corporate","Influence":0.063241,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"RecoveringStates":[{"State":"PublicHoliday","Trend":0}]},{"Name":"Flotta Stellare","FactionState":"None","Government":"Democracy","Influence":0.548419,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-19.42,"PendingStates":[{"State":"Expansion","Trend":0}],"RecoveringStates":[{"State":"InfrastructureFailure","Trend":0}]}],"SystemFaction":{"Name":"Flotta Stellare"},"Conflicts":[{"WarType":"civilwar","Status":"active","Faction1":{"Name":"Revolutionary Party of Cosi","Stake":"Solovyov Orbital","WonDays":3},"Faction2":{"Name":"Cosi Silver Raiders","Stake":"Obama Concourse","WonDays":1}}]}
{"timestamp":"2022-02-13T10:23:35Z","event":"ShipTargeted","TargetLocked":true,"Ship":"viper","Ship_Localised":"Viper Mk III","ScanStage":1,"PilotName":"$ShipName_Police_Independent;","PilotName_Localised":"System Authority Vessel","PilotRank":"Competent"}
{"timestamp":"2022-02-13T10:23:35Z","event":"ShipTargeted","TargetLocked":true,"Ship":"type9","Ship_Localised":"Type-9 Heavy","ScanStage":0}
{"timestamp":"2022-02-13T10:23:36Z","event":"ShipTargeted","TargetLocked":true,"Ship":"type9","Ship_Localised":"Type-9 Heavy","ScanStage":1,"PilotName":"$npc_name_decorate:#name=Peter Lux;","PilotName_Localised":"Peter Lux","PilotRank":"Novice"}
{"timestamp":"2022-02-13T10:23:38Z","event":"ShipTargeted","TargetLocked":true,"Ship":"type9","Ship_Localised":"Type-9 Heavy","ScanStage":2,"PilotName":"$npc_name_decorate:#name=Peter Lux;","PilotName_Localised":"Peter Lux","PilotRank":"Novice","ShieldHealth":94.356415,"HullHealth":100.0}
{"timestamp":"2022-02-13T10:23:40Z","event":"ShipTargeted","TargetLocked":true,"Ship":"type9","Ship_Localised":"Type-9 Heavy","ScanStage":3,"PilotName":"$npc_name_decorate:#name=Peter Lux;","PilotName_Localised":"Peter Lux","PilotRank":"Novice","ShieldHealth":96.783104,"HullHealth":100.0,"Faction":"Flotta Stellare","LegalStatus":"Clean"}
{"timestamp":"2022-02-13T10:24:05Z","event":"Docked","StationName":"Arrhenius Hub","StationType":"Orbis","StarSystem":"Cosi","SystemAddress":6406111498946,"MarketID":3228247808,"StationFaction":{"Name":"Flotta Stellare"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Agri;","StationEconomy_Localised":"Agriculture","StationEconomies":[{"Name":"$economy_Agri;","Name_Localised":"Agriculture","Proportion":1.0}],"DistFromStarLS":277.189393}
{"timestamp":"2022-02-13T10:24:34Z","event":"MissionCompleted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Delivery_Boom_name","MissionID":846245533,"Commodity":"$HydrogenFuel_Name;","Commodity_Localised":"Hydrogen Fuel","Count":147,"TargetFaction":"Flotta Stellare","DestinationSystem":"Cosi","DestinationStation":"Arrhenius Hub","Reward":81097,"FactionEffects":[{"Faction":"Social LHS 6103 Confederation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":9467315955081,"Trend":"UpGood","Influence":"++++"}],"ReputationTrend":"UpGood","Reputation":"++"},{"Faction":"Flotta Stellare","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":6406111498946,"Trend":"UpGood","Influence":"++"}],"ReputationTrend":"UpGood","Reputation":"++"}]}
{"timestamp":"2022-02-13T10:25:48Z","event":"ShipTargeted","TargetLocked":false}
{"timestamp":"2022-02-13T10:31:20Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Cosi","SystemAddress":6406111498946,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":0.0}
{"timestamp":"2022-02-13T10:33:37Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Cosi","SystemAddress":6406111498946,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":0.0}
{"timestamp":"2022-02-13T10:49:22Z","event":"Docked","StationName":"J9F-G0M","StationType":"FleetCarrier","StarSystem":"Paresa","SystemAddress":2832765653722,"MarketID":3707502336,"StationFaction":{"Name":"FleetCarrier"},"StationGovernment":"$government_Carrier;","StationGovernment_Localised":"Private Ownership ","StationServices":["dock","autodock","commodities","contacts","crewlounge","rearm","refuel","repair","engineer","flightcontroller","stationoperations","stationMenu","carriermanagement","carrierfuel"],"StationEconomy":"$economy_Carrier;","StationEconomy_Localised":"Private Enterprise","StationEconomies":[{"Name":"$economy_Carrier;","Name_Localised":"Private Enterprise","Proportion":1.0}],"DistFromStarLS":260.945541}
{"timestamp":"2022-02-13T10:51:41Z","event":"Docked","StationName":"Dyson City","StationType":"Coriolis","StarSystem":"Paresa","SystemAddress":2832765653722,"MarketID":3222169600,"StationFaction":{"Name":"Nova Paresa"},"StationGovernment":"$government_Patronage;","StationGovernment_Localised":"Patronage","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Agri;","StationEconomy_Localised":"Agriculture","StationEconomies":[{"Name":"$economy_Agri;","Name_Localised":"Agriculture","Proportion":1.0}],"DistFromStarLS":260.87121}
{"timestamp":"2022-02-13T10:52:28Z","event":"MissionAccepted","Faction":"Nova Paresa","Name":"Mission_Assassinate","LocalisedName":"Assassinate Known Pirate: Zac Barnard","TargetType":"$MissionUtil_FactionTag_PirateLord;","TargetType_Localised":"Known Pirate","TargetFaction":"Madngela Blue Rats","DestinationSystem":"Madngela","DestinationStation":"Merril Terminal","Target":"Zac Barnard","Expiry":"2022-02-14T10:52:01Z","Wing":true,"Influence":"++","Reputation":"++","Reward":4510749,"MissionID":846447335}
{"timestamp":"2022-02-13T10:55:10Z","event":"FSDJump","StarSystem":"No Cha","SystemAddress":671759148465,"StarPos":[72.15625,-191.625,23.59375],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Extraction;","SystemEconomy_Localised":"Extraction","SystemSecondEconomy":"$economy_Industrial;","SystemSecondEconomy_Localised":"Industrial","SystemGovernment":"$government_Anarchy;","SystemGovernment_Localised":"Anarchy","SystemSecurity":"$GAlAXY_MAP_INFO_state_anarchy;","SystemSecurity_Localised":"Anarchy","Population":6649195,"Body":"No Cha","BodyID":0,"BodyType":"Star","JumpDist":16.279,"FuelUsed":1.665399,"FuelLevel":14.3346,"Factions":[{"Name":"United No Cha Justice Party","FactionState":"CivilWar","Government":"Dictatorship","Influence":0.089,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-5.19,"ActiveStates":[{"State":"CivilWar"}]},{"Name":"No Cha Limited","FactionState":"None","Government":"Corporate","Influence":0.033,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-75.0},{"Name":"No Cha Party","FactionState":"None","Government":"Dictatorship","Influence":0.037,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-71.699997},{"Name":"Temurt Drug Empire","FactionState":"None","Government":"Anarchy","Influence":0.408,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-73.349998,"RecoveringStates":[{"State":"Terrorism","Trend":0}]},{"Name":"Crew of No Cha","FactionState":"None","Government":"Anarchy","Influence":0.043,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-2.97},{"Name":"Social No Cha Free","FactionState":"CivilWar","Government":"Democracy","Influence":0.089,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand3;","Happiness_Localised":"Discontented","MyReputation":0.0,"ActiveStates":[{"State":"Terrorism"},{"State":"CivilWar"}]},{"Name":"Distant World Co.","FactionState":"Boom","Government":"Corporate","Influence":0.301,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-30.0,"ActiveStates":[{"State":"Boom"}]}],"SystemFaction":{"Name":"Temurt Drug Empire"},"Conflicts":[{"WarType":"civilwar","Status":"active","Faction1":{"Name":"United No Cha Justice Party","Stake":"Plumb Botanical Farm","WonDays":0},"Faction2":{"Name":"Social No Cha Free","Stake":"Roe Orbital","WonDays":0}}]}
{"timestamp":"2022-02-13T11:00:22Z","event":"FSDJump","StarSystem":"Ogoni","SystemAddress":2557887746770,"StarPos":[63.0,-193.75,14.0],"SystemAllegiance":"Empire","SystemEconomy":"$economy_HighTech;","SystemEconomy_Localised":"High Tech","SystemSecondEconomy":"$economy_Extraction;","SystemSecondEconomy_Localised":"Extraction","SystemGovernment":"$government_Patronage;","SystemGovernment_Localised":"Patronage","SystemSecurity":"$SYSTEM_SECURITY_low;","SystemSecurity_Localised":"Low Security","Population":72360,"Body":"Ogoni","BodyID":0,"BodyType":"Star","JumpDist":13.431,"FuelUsed":1.034921,"FuelLevel":13.52183,"Factions":[{"Name":"Jet Universal Partners","FactionState":"None","Government":"Corporate","Influence":0.166833,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":76.239998},{"Name":"Peraesii Empire Consulate","FactionState":"Expansion","Government":"Patronage","Influence":0.084915,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":70.300003,"ActiveStates":[{"State":"Expansion"}]},{"Name":"Marquis du Ogoni","FactionState":"None","Government":"Feudal","Influence":0.258741,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-35.0},{"Name":"Ogoni Dragons","FactionState":"Bust","Government":"Anarchy","Influence":0.00999,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-69.959999,"RecoveringStates":[{"State":"Outbreak","Trend":0}],"ActiveStates":[{"State":"Bust"}]},{"Name":"Nova Paresa","FactionState":"None","Government":"Patronage","Influence":0.47952,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","SquadronFaction":true,"MyReputation":100.0}],"SystemFaction":{"Name":"Nova Paresa"}}

View File

@ -1,83 +0,0 @@
{"timestamp":"2022-02-17T16:52:32Z","event":"Location","Docked":true,"StationName":"Henry O'Hare's Hangar","StationType":"Coriolis","MarketID":128043008,"StationFaction":{"Name":"Summerland Patron's Party","FactionState":"War"},"StationGovernment":"$government_Patronage;","StationGovernment_Localised":"Patronage","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Service;","StationEconomy_Localised":"Service","StationEconomies":[{"Name":"$economy_Service;","Name_Localised":"Service","Proportion":1.0}],"StarSystem":"Summerland","SystemAddress":972566792555,"StarPos":[28.9375,-121.09375,3.53125],"SystemAllegiance":"Empire","SystemEconomy":"$economy_Service;","SystemEconomy_Localised":"Service","SystemSecondEconomy":"$economy_Refinery;","SystemSecondEconomy_Localised":"Refinery","SystemGovernment":"$government_Patronage;","SystemGovernment_Localised":"Patronage","SystemSecurity":"$SYSTEM_SECURITY_medium;","SystemSecurity_Localised":"Medium Security","Population":25079107,"Body":"Henry O'Hare's Hangar","BodyID":61,"BodyType":"Station","Factions":[{"Name":"Summerland Patron's Party","FactionState":"War","Government":"Patronage","Influence":0.589,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":17.5,"RecoveringStates":[{"State":"PublicHoliday","Trend":0}],"ActiveStates":[{"State":"Boom"},{"State":"War"}]},{"Name":"Summerland Crimson Allied Int","FactionState":"CivilWar","Government":"Corporate","Influence":0.171,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-7.5,"RecoveringStates":[{"State":"Boom","Trend":0}],"ActiveStates":[{"State":"CivilWar"}]},{"Name":"Raiders of Summerland","FactionState":"None","Government":"Anarchy","Influence":0.031,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Summerland Patron's Principles","FactionState":"CivilWar","Government":"Patronage","Influence":0.171,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand1;","Happiness_Localised":"Elated","MyReputation":17.5,"ActiveStates":[{"State":"CivilLiberty"},{"State":"Boom"},{"State":"PublicHoliday"},{"State":"CivilWar"}]},{"Name":"Darkwater Inc","FactionState":"War","Government":"Anarchy","Influence":0.038,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-100.0,"ActiveStates":[{"State":"War"}]}],"SystemFaction":{"Name":"Summerland Patron's Party","FactionState":"War"},"Conflicts":[{"WarType":"war","Status":"active","Faction1":{"Name":"Summerland Patron's Party","Stake":"","WonDays":0},"Faction2":{"Name":"Darkwater Inc","Stake":"","WonDays":0}},{"WarType":"civilwar","Status":"active","Faction1":{"Name":"Summerland Crimson Allied Int","Stake":"Vercors Arena","WonDays":2},"Faction2":{"Name":"Summerland Patron's Principles","Stake":"Spartacus Fortification Division","WonDays":1}}]}
{"timestamp":"2022-02-17T21:08:38Z","event":"FSDJump","StarSystem":"ICZ PC-V b2-2","SystemAddress":5070342596017,"StarPos":[99.84375,-180.96875,21.40625],"SystemAllegiance":"","SystemEconomy":"$economy_None;","SystemEconomy_Localised":"None","SystemSecondEconomy":"$economy_None;","SystemSecondEconomy_Localised":"None","SystemGovernment":"$government_None;","SystemGovernment_Localised":"None","SystemSecurity":"$GAlAXY_MAP_INFO_state_anarchy;","SystemSecurity_Localised":"Anarchy","Population":0,"Body":"ICZ PC-V b2-2 A","BodyID":1,"BodyType":"Star","JumpDist":18.521,"FuelUsed":3.535622,"FuelLevel":28.464378}
{"timestamp":"2022-02-17T21:09:22Z","event":"FSDJump","StarSystem":"Kazahua","SystemAddress":2871050905001,"StarPos":[93.28125,-180.25,14.6875],"SystemAllegiance":"Empire","SystemEconomy":"$economy_Industrial;","SystemEconomy_Localised":"Industrial","SystemSecondEconomy":"$economy_Colony;","SystemSecondEconomy_Localised":"Colony","SystemGovernment":"$government_Patronage;","SystemGovernment_Localised":"Patronage","SystemSecurity":"$SYSTEM_SECURITY_low;","SystemSecurity_Localised":"Low Security","Population":17949,"Body":"Kazahua","BodyID":0,"BodyType":"Star","JumpDist":9.419,"FuelUsed":0.665858,"FuelLevel":27.798521,"Factions":[{"Name":"Peraesii Empire Consulate","FactionState":"None","Government":"Patronage","Influence":0.082578,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":100.0,"PendingStates":[{"State":"Expansion","Trend":0}]},{"Name":"Kazahua Co","FactionState":"None","Government":"Corporate","Influence":0.037261,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Kazahua Crimson Ring","FactionState":"None","Government":"Anarchy","Influence":0.060423,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"HIP 10611 Shared","FactionState":"None","Government":"Cooperative","Influence":0.23565,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-3.3},{"Name":"Traditional Yao Tzu Liberty Party","FactionState":"None","Government":"Dictatorship","Influence":0.134945,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-11.55},{"Name":"Sapii allied","FactionState":"None","Government":"Cooperative","Influence":0.121853,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Nova Paresa","FactionState":"None","Government":"Patronage","Influence":0.327291,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","SquadronFaction":true,"MyReputation":100.0}],"SystemFaction":{"Name":"Nova Paresa"}}
{"timestamp":"2022-02-17T21:12:25Z","event":"Docked","StationName":"Rabinowitz Colony","StationType":"Outpost","StarSystem":"Kazahua","SystemAddress":2871050905001,"MarketID":3223011840,"StationFaction":{"Name":"Nova Paresa"},"StationGovernment":"$government_Patronage;","StationGovernment_Localised":"Patronage","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Extraction;","StationEconomy_Localised":"Extraction","StationEconomies":[{"Name":"$economy_Extraction;","Name_Localised":"Extraction","Proportion":1.0}],"DistFromStarLS":336.711693}
{"timestamp":"2022-02-17T21:13:25Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Collect","LocalisedName":"Source and return 45 units of Performance Enhancers","Commodity":"$PerformanceEnhancers_Name;","Commodity_Localised":"Performance Enhancers","Count":45,"DestinationSystem":"Kazahua","DestinationStation":"Rabinowitz Colony","Expiry":"2022-02-18T21:12:35Z","Wing":false,"Influence":"++","Reputation":"++","Reward":737283,"MissionID":847892168}
{"timestamp":"2022-02-17T21:14:00Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Collect","LocalisedName":"Source and return 27 units of Synthetic Meat","Commodity":"$SyntheticMeat_Name;","Commodity_Localised":"Synthetic Meat","Count":27,"DestinationSystem":"Kazahua","DestinationStation":"Rabinowitz Colony","Expiry":"2022-02-18T21:12:35Z","Wing":false,"Influence":"+","Reputation":"+","Reward":91209,"MissionID":847892283}
{"timestamp":"2022-02-17T21:15:20Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Delivery","LocalisedName":"Deliver 36 units of Uraninite","Commodity":"$Uraninite_Name;","Commodity_Localised":"Uraninite","Count":36,"TargetFaction":"Decimus Imperium Lex","DestinationSystem":"Kelish","DestinationStation":"Delaunay Orbital","Expiry":"2022-02-18T21:12:34Z","Wing":false,"Influence":"++","Reputation":"++","Reward":223299,"MissionID":847892616}
{"timestamp":"2022-02-17T21:16:44Z","event":"FSDJump","StarSystem":"Kelish","SystemAddress":2871319405993,"StarPos":[95.09375,-164.375,13.34375],"SystemAllegiance":"Independent","SystemEconomy":"$economy_HighTech;","SystemEconomy_Localised":"High Tech","SystemSecondEconomy":"$economy_Refinery;","SystemSecondEconomy_Localised":"Refinery","SystemGovernment":"$government_Cooperative;","SystemGovernment_Localised":"Cooperative","SystemSecurity":"$SYSTEM_SECURITY_high;","SystemSecurity_Localised":"High Security","Population":31349315,"Body":"Kelish A","BodyID":1,"BodyType":"Star","JumpDist":16.035,"FuelUsed":2.826729,"FuelLevel":29.173271,"Factions":[{"Name":"Peraesii Empire Consulate","FactionState":"None","Government":"Patronage","Influence":0.052052,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":100.0,"PendingStates":[{"State":"Expansion","Trend":0}]},{"Name":"Kelish Citizens' Forum","FactionState":"None","Government":"Patronage","Influence":0.114114,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-9.65679,"PendingStates":[{"State":"Election","Trend":0}]},{"Name":"Kelish Limited","FactionState":"None","Government":"Corporate","Influence":0.041041,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Kelish Posse","FactionState":"None","Government":"Anarchy","Influence":0.01001,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-15.84},{"Name":"Kelish Empire Consulate","FactionState":"None","Government":"Patronage","Influence":0.038038,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Decimus Imperium Lex","FactionState":"None","Government":"Feudal","Influence":0.114114,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":23.1,"PendingStates":[{"State":"Election","Trend":0}]},{"Name":"The Order of Mobius","FactionState":"Boom","Government":"Cooperative","Influence":0.630631,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":100.0,"RecoveringStates":[{"State":"Expansion","Trend":0}],"ActiveStates":[{"State":"Boom"}]}],"SystemFaction":{"Name":"The Order of Mobius","FactionState":"Boom"},"Conflicts":[{"WarType":"election","Status":"pending","Faction1":{"Name":"Kelish Citizens' Forum","Stake":"Bowell Enterprise","WonDays":0},"Faction2":{"Name":"Decimus Imperium Lex","Stake":"Delaunay Orbital","WonDays":0}}]}
{"timestamp":"2022-02-17T21:21:09Z","event":"Docked","StationName":"Delaunay Orbital","StationType":"Outpost","StarSystem":"Kelish","SystemAddress":2871319405993,"MarketID":3224635392,"StationFaction":{"Name":"Decimus Imperium Lex"},"StationGovernment":"$government_Feudal;","StationGovernment_Localised":"Feudal","StationAllegiance":"Empire","StationServices":["dock","autodock","contacts","exploration","missions","refuel","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_HighTech;","StationEconomy_Localised":"High Tech","StationEconomies":[{"Name":"$economy_HighTech;","Name_Localised":"High Tech","Proportion":0.51},{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":0.49}],"DistFromStarLS":70.858032}
{"timestamp":"2022-02-17T21:25:26Z","event":"Docked","StationName":"Tikhonravov Orbital","StationType":"Outpost","StarSystem":"Kelish","SystemAddress":2871319405993,"MarketID":3224635136,"StationFaction":{"Name":"The Order of Mobius","FactionState":"Boom"},"StationGovernment":"$government_Cooperative;","StationGovernment_Localised":"Cooperative","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_HighTech;","StationEconomy_Localised":"High Tech","StationEconomies":[{"Name":"$economy_HighTech;","Name_Localised":"High Tech","Proportion":0.67},{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":0.33}],"DistFromStarLS":70.88156}
{"timestamp":"2022-02-17T21:27:22Z","event":"FSDJump","StarSystem":"Kazahua","SystemAddress":2871050905001,"StarPos":[93.28125,-180.25,14.6875],"SystemAllegiance":"Empire","SystemEconomy":"$economy_Industrial;","SystemEconomy_Localised":"Industrial","SystemSecondEconomy":"$economy_Colony;","SystemSecondEconomy_Localised":"Colony","SystemGovernment":"$government_Patronage;","SystemGovernment_Localised":"Patronage","SystemSecurity":"$SYSTEM_SECURITY_low;","SystemSecurity_Localised":"Low Security","Population":17949,"Body":"Kazahua","BodyID":0,"BodyType":"Star","JumpDist":16.035,"FuelUsed":3.825501,"FuelLevel":28.1745,"Factions":[{"Name":"Peraesii Empire Consulate","FactionState":"None","Government":"Patronage","Influence":0.082578,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":100.0,"PendingStates":[{"State":"Expansion","Trend":0}]},{"Name":"Kazahua Co","FactionState":"None","Government":"Corporate","Influence":0.037261,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Kazahua Crimson Ring","FactionState":"None","Government":"Anarchy","Influence":0.060423,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"HIP 10611 Shared","FactionState":"None","Government":"Cooperative","Influence":0.23565,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-3.3},{"Name":"Traditional Yao Tzu Liberty Party","FactionState":"None","Government":"Dictatorship","Influence":0.134945,"Allegiance":"Empire","Happiness":"","MyReputation":-1.65},{"Name":"Sapii allied","FactionState":"None","Government":"Cooperative","Influence":0.121853,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Nova Paresa","FactionState":"None","Government":"Patronage","Influence":0.327291,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","SquadronFaction":true,"MyReputation":100.0}],"SystemFaction":{"Name":"Nova Paresa"}}
{"timestamp":"2022-02-17T21:30:27Z","event":"Docked","StationName":"Rabinowitz Colony","StationType":"Outpost","StarSystem":"Kazahua","SystemAddress":2871050905001,"MarketID":3223011840,"StationFaction":{"Name":"Nova Paresa"},"StationGovernment":"$government_Patronage;","StationGovernment_Localised":"Patronage","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Extraction;","StationEconomy_Localised":"Extraction","StationEconomies":[{"Name":"$economy_Extraction;","Name_Localised":"Extraction","Proportion":1.0}],"DistFromStarLS":336.716824}
{"timestamp":"2022-02-17T21:31:16Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_AltruismCredits","LocalisedName":"Donate 300,000 Cr to the cause","Donation":"300000","Expiry":"2022-02-18T00:36:39Z","Wing":false,"Influence":"++","Reputation":"+","MissionID":847896711}
{"timestamp":"2022-02-17T21:31:22Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_AltruismCredits","LocalisedName":"Donate 200,000 Cr to the cause","Donation":"200000","Expiry":"2022-02-18T01:04:30Z","Wing":false,"Influence":"+","Reputation":"+","MissionID":847896737}
{"timestamp":"2022-02-17T21:33:06Z","event":"FSDJump","StarSystem":"Haoko","SystemAddress":7269365851569,"StarPos":[100.5625,-181.78125,31.4375],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Extraction;","SystemEconomy_Localised":"Extraction","SystemSecondEconomy":"$economy_None;","SystemSecondEconomy_Localised":"None","SystemGovernment":"$government_Confederacy;","SystemGovernment_Localised":"Confederacy","SystemSecurity":"$SYSTEM_SECURITY_low;","SystemSecurity_Localised":"Low Security","Population":2923,"Body":"Haoko A","BodyID":2,"BodyType":"Star","JumpDist":18.328,"FuelUsed":4.202615,"FuelLevel":27.797386,"Factions":[{"Name":"Peraesii Empire Consulate","FactionState":"None","Government":"Patronage","Influence":0.145161,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":100.0,"PendingStates":[{"State":"Expansion","Trend":0}]},{"Name":"Haoko Interstellar","FactionState":"None","Government":"Corporate","Influence":0.034274,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Gefjong Interstellar","FactionState":"None","Government":"Corporate","Influence":0.035282,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Uniting Haoko","FactionState":"None","Government":"Cooperative","Influence":0.037298,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Aristocrats of Haoko","FactionState":"None","Government":"Feudal","Influence":0.080645,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Browncoat Uprising","FactionState":"None","Government":"Confederacy","Influence":0.476815,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":1.32,"PendingStates":[{"State":"Expansion","Trend":0}]},{"Name":"Di Yomi Praetorian Confederacy","FactionState":"None","Government":"Confederacy","Influence":0.190524,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0}],"SystemFaction":{"Name":"Browncoat Uprising"}}
{"timestamp":"2022-02-17T21:34:07Z","event":"FSDJump","StarSystem":"Rukarwadja","SystemAddress":672296084921,"StarPos":[100.90625,-184.125,39.625],"SystemAllegiance":"Empire","SystemEconomy":"$economy_Agri;","SystemEconomy_Localised":"Agriculture","SystemSecondEconomy":"$economy_Tourism;","SystemSecondEconomy_Localised":"Tourism","SystemGovernment":"$government_Corporate;","SystemGovernment_Localised":"Corporate","SystemSecurity":"$SYSTEM_SECURITY_medium;","SystemSecurity_Localised":"Medium Security","Population":9529639756,"Body":"Rukarwadja","BodyID":0,"BodyType":"Star","JumpDist":8.523,"FuelUsed":0.634794,"FuelLevel":27.162592,"Factions":[{"Name":"Rukarwadja Emperor's Grace","FactionState":"CivilWar","Government":"Patronage","Influence":0.14881,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"CivilWar"}]},{"Name":"Rukarwadja Holdings","FactionState":"None","Government":"Corporate","Influence":0.450397,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Raiders of Rukarwadja","FactionState":"None","Government":"Anarchy","Influence":0.026786,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Traditional Yao Tzu Liberty Party","FactionState":"None","Government":"Dictatorship","Influence":0.042659,"Allegiance":"Empire","Happiness":"","MyReputation":41.849998},{"Name":"Rukarwadja General Partners","FactionState":"CivilWar","Government":"Corporate","Influence":0.14881,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"CivilWar"}]},{"Name":"New Rukarwadja Free","FactionState":"None","Government":"Democracy","Influence":0.059524,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Di Yomi Praetorian Confederacy","FactionState":"None","Government":"Confederacy","Influence":0.123016,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0}],"SystemFaction":{"Name":"Rukarwadja Holdings"},"Conflicts":[{"WarType":"civilwar","Status":"active","Faction1":{"Name":"Rukarwadja Emperor's Grace","Stake":"Regent's Villas","WonDays":0},"Faction2":{"Name":"Rukarwadja General Partners","Stake":"Purandare's Works","WonDays":0}}]}
{"timestamp":"2022-02-17T21:37:34Z","event":"Docked","StationName":"Wallerstein Port","StationType":"Orbis","StarSystem":"Rukarwadja","SystemAddress":672296084921,"MarketID":3224498944,"StationFaction":{"Name":"Rukarwadja Holdings"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Agri;","StationEconomy_Localised":"Agriculture","StationEconomies":[{"Name":"$economy_Agri;","Name_Localised":"Agriculture","Proportion":1.0}],"DistFromStarLS":81.740698}
{"timestamp":"2022-02-17T21:38:17Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"MISSION_Scan","LocalisedName":"Planetary Scan Job","DestinationSystem":"Arugua","DestinationStation":"Noon Base","Expiry":"2022-02-24T01:14:27Z","Wing":false,"Influence":"++","Reputation":"++","Reward":2423488,"MissionID":847898503}
{"timestamp":"2022-02-17T21:38:18Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"MISSION_Scan","LocalisedName":"Planetary Scan Job","DestinationSystem":"Arugua","DestinationStation":"Giclas Hub","Expiry":"2022-02-23T16:33:57Z","Wing":false,"Influence":"++","Reputation":"++","Reward":2416030,"MissionID":847898508}
{"timestamp":"2022-02-17T21:38:20Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"MISSION_Scan","LocalisedName":"Planetary Scan Job","DestinationSystem":"Sangenses","DestinationStation":"Paola Plant","Expiry":"2022-02-24T06:36:03Z","Wing":false,"Influence":"++","Reputation":"++","Reward":2546050,"MissionID":847898515}
{"timestamp":"2022-02-17T21:39:16Z","event":"Docked","StationName":"Wallerstein Port","StationType":"Orbis","StarSystem":"Rukarwadja","SystemAddress":672296084921,"MarketID":3224498944,"StationFaction":{"Name":"Rukarwadja Holdings"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Agri;","StationEconomy_Localised":"Agriculture","StationEconomies":[{"Name":"$economy_Agri;","Name_Localised":"Agriculture","Proportion":1.0}],"DistFromStarLS":81.742134}
{"timestamp":"2022-02-17T21:39:55Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Sightseeing","LocalisedName":"Stuart Shelton Seeks Sightseeing Adventure","Commodity":"$DomesticAppliances_Name;","Commodity_Localised":"Domestic Appliances","Count":1,"DestinationSystem":"Vequess$MISSIONUTIL_MULTIPLE_FINAL_SEPARATOR;Kikapu","Expiry":"2022-02-18T14:54:00Z","Wing":false,"Influence":"+","Reputation":"+","Reward":5814370,"PassengerCount":7,"PassengerVIPs":true,"PassengerWanted":false,"PassengerType":"Tourist","MissionID":847898915}
{"timestamp":"2022-02-17T21:40:03Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Sightseeing","LocalisedName":"Larissa Tucker Seeks Sightseeing Adventure","Commodity":"$ConsumerTechnology_Name;","Commodity_Localised":"Consumer Technology","Count":1,"DestinationSystem":"Guanangu$MISSIONUTIL_MULTIPLE_INNER_SEPARATOR;Col 285 Sector JM-A b15-7$MISSIONUTIL_MULTIPLE_FINAL_SEPARATOR;Kholhou","Expiry":"2022-02-18T08:03:56Z","Wing":false,"Influence":"+","Reputation":"+","Reward":5460445,"PassengerCount":5,"PassengerVIPs":true,"PassengerWanted":false,"PassengerType":"Tourist","MissionID":847898932}
{"timestamp":"2022-02-17T21:40:19Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Sightseeing","LocalisedName":"Arthur Ward Seeks Sightseeing Adventure","Commodity":"$DomesticAppliances_Name;","Commodity_Localised":"Domestic Appliances","Count":2,"DestinationSystem":"Daibo$MISSIONUTIL_MULTIPLE_INNER_SEPARATOR;Zearla$MISSIONUTIL_MULTIPLE_FINAL_SEPARATOR;Azaleach","Expiry":"2022-02-18T13:20:42Z","Wing":false,"Influence":"+","Reputation":"+","Reward":7336247,"PassengerCount":7,"PassengerVIPs":true,"PassengerWanted":false,"PassengerType":"Tourist","MissionID":847898991}
{"timestamp":"2022-02-17T21:40:32Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Sightseeing","LocalisedName":"Mckinley Walsh Seeks Sightseeing Adventure","Commodity":"$ConsumerTechnology_Name;","Commodity_Localised":"Consumer Technology","Count":2,"DestinationSystem":"Cartoi$MISSIONUTIL_MULTIPLE_INNER_SEPARATOR;Hofada$MISSIONUTIL_MULTIPLE_FINAL_SEPARATOR;Lalande 46867","Expiry":"2022-02-18T13:25:40Z","Wing":false,"Influence":"+","Reputation":"+","Reward":3814750,"PassengerCount":3,"PassengerVIPs":true,"PassengerWanted":false,"PassengerType":"Tourist","MissionID":847899046}
{"timestamp":"2022-02-17T21:40:57Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_LongDistanceExpedition","LocalisedName":"Javier Colon Wants To Visit Choose Your Own Adventure and Collect Data","DestinationSystem":"Rukarwadja","Expiry":"2022-03-17T21:37:51Z","Wing":false,"Influence":"+","Reputation":"+","Reward":33571088,"PassengerCount":5,"PassengerVIPs":true,"PassengerWanted":false,"PassengerType":"Explorer","MissionID":847899182}
{"timestamp":"2022-02-17T21:43:32Z","event":"Location","Docked":true,"StationName":"Wallerstein Port","StationType":"Orbis","MarketID":3224498944,"StationFaction":{"Name":"Rukarwadja Holdings"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Agri;","StationEconomy_Localised":"Agriculture","StationEconomies":[{"Name":"$economy_Agri;","Name_Localised":"Agriculture","Proportion":1.0}],"StarSystem":"Rukarwadja","SystemAddress":672296084921,"StarPos":[100.90625,-184.125,39.625],"SystemAllegiance":"Empire","SystemEconomy":"$economy_Agri;","SystemEconomy_Localised":"Agriculture","SystemSecondEconomy":"$economy_Tourism;","SystemSecondEconomy_Localised":"Tourism","SystemGovernment":"$government_Corporate;","SystemGovernment_Localised":"Corporate","SystemSecurity":"$SYSTEM_SECURITY_medium;","SystemSecurity_Localised":"Medium Security","Population":9529639756,"Body":"Wallerstein Port","BodyID":31,"BodyType":"Station","Factions":[{"Name":"Rukarwadja Emperor's Grace","FactionState":"CivilWar","Government":"Patronage","Influence":0.14881,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"CivilWar"}]},{"Name":"Rukarwadja Holdings","FactionState":"None","Government":"Corporate","Influence":0.450397,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":2.5466},{"Name":"Raiders of Rukarwadja","FactionState":"None","Government":"Anarchy","Influence":0.026786,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Traditional Yao Tzu Liberty Party","FactionState":"None","Government":"Dictatorship","Influence":0.042659,"Allegiance":"Empire","Happiness":"","MyReputation":-34.049999},{"Name":"Rukarwadja General Partners","FactionState":"CivilWar","Government":"Corporate","Influence":0.14881,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"CivilWar"}]},{"Name":"New Rukarwadja Free","FactionState":"None","Government":"Democracy","Influence":0.059524,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Di Yomi Praetorian Confederacy","FactionState":"None","Government":"Confederacy","Influence":0.123016,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0}],"SystemFaction":{"Name":"Rukarwadja Holdings"},"Conflicts":[{"WarType":"civilwar","Status":"active","Faction1":{"Name":"Rukarwadja Emperor's Grace","Stake":"Regent's Villas","WonDays":0},"Faction2":{"Name":"Rukarwadja General Partners","Stake":"Purandare's Works","WonDays":0}}]}
{"timestamp":"2022-02-17T21:43:32Z","event":"Docked","StationName":"Wallerstein Port","StationType":"Orbis","StarSystem":"Rukarwadja","SystemAddress":672296084921,"MarketID":3224498944,"StationFaction":{"Name":"Rukarwadja Holdings"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Agri;","StationEconomy_Localised":"Agriculture","StationEconomies":[{"Name":"$economy_Agri;","Name_Localised":"Agriculture","Proportion":1.0}],"DistFromStarLS":81.745724}
{"timestamp":"2022-02-17T21:46:43Z","event":"Docked","StationName":"Wallerstein Port","StationType":"Orbis","StarSystem":"Rukarwadja","SystemAddress":672296084921,"MarketID":3224498944,"StationFaction":{"Name":"Rukarwadja Holdings"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Agri;","StationEconomy_Localised":"Agriculture","StationEconomies":[{"Name":"$economy_Agri;","Name_Localised":"Agriculture","Proportion":1.0}],"DistFromStarLS":81.748373}
{"timestamp":"2022-02-17T21:48:35Z","event":"FSDJump","StarSystem":"ICZ SI-T b3-4","SystemAddress":9468120671673,"StarPos":[88.875,-175.65625,37.1875],"SystemAllegiance":"","SystemEconomy":"$economy_None;","SystemEconomy_Localised":"None","SystemSecondEconomy":"$economy_None;","SystemSecondEconomy_Localised":"None","SystemGovernment":"$government_None;","SystemGovernment_Localised":"None","SystemSecurity":"$GAlAXY_MAP_INFO_state_anarchy;","SystemSecurity_Localised":"Anarchy","Population":0,"Body":"ICZ SI-T b3-4 A","BodyID":1,"BodyType":"Star","JumpDist":14.913,"FuelUsed":2.079593,"FuelLevel":29.920406}
{"timestamp":"2022-02-17T21:49:34Z","event":"FSDJump","StarSystem":"Yao Tzu","SystemAddress":7269097416113,"StarPos":[82.78125,-174.6875,28.3125],"SystemAllegiance":"Empire","SystemEconomy":"$economy_Industrial;","SystemEconomy_Localised":"Industrial","SystemSecondEconomy":"$economy_None;","SystemSecondEconomy_Localised":"None","SystemGovernment":"$government_Patronage;","SystemGovernment_Localised":"Patronage","SystemSecurity":"$SYSTEM_SECURITY_medium;","SystemSecurity_Localised":"Medium Security","Population":4049046,"Body":"Yao Tzu A","BodyID":2,"BodyType":"Star","JumpDist":10.809,"FuelUsed":0.93791,"FuelLevel":28.982496,"Factions":[{"Name":"Peraesii Empire Consulate","FactionState":"None","Government":"Patronage","Influence":0.193,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":100.0,"PendingStates":[{"State":"Expansion","Trend":0}]},{"Name":"Yao Tzu Exchange","FactionState":"None","Government":"Corporate","Influence":0.064,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Yao Tzu Blue Partnership","FactionState":"None","Government":"Anarchy","Influence":0.028,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Traditional Yao Tzu Liberty Party","FactionState":"None","Government":"Dictatorship","Influence":0.059,"Allegiance":"Empire","Happiness":"","MyReputation":-34.049999},{"Name":"Citizen Party of Yao Tzu","FactionState":"None","Government":"Communism","Influence":0.027,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Browncoat Uprising","FactionState":"None","Government":"Confederacy","Influence":0.076,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":1.32,"PendingStates":[{"State":"Expansion","Trend":0}]},{"Name":"Empire Consulate Ltd","FactionState":"None","Government":"Patronage","Influence":0.553,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-2.475}],"SystemFaction":{"Name":"Empire Consulate Ltd"}}
{"timestamp":"2022-02-17T21:53:17Z","event":"Docked","StationName":"Orbik Port","StationType":"Coriolis","StarSystem":"Yao Tzu","SystemAddress":7269097416113,"MarketID":3222901760,"StationFaction":{"Name":"Empire Consulate Ltd"},"StationGovernment":"$government_Patronage;","StationGovernment_Localised":"Patronage","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Industrial;","StationEconomy_Localised":"Industrial","StationEconomies":[{"Name":"$economy_Industrial;","Name_Localised":"Industrial","Proportion":1.0}],"DistFromStarLS":733.354712}
{"timestamp":"2022-02-17T21:54:14Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Collect_Industrial","LocalisedName":"Industry needs 42 units of Performance Enhancers","Commodity":"$PerformanceEnhancers_Name;","Commodity_Localised":"Performance Enhancers","Count":42,"DestinationSystem":"Yao Tzu","DestinationStation":"Orbik Port","Expiry":"2022-02-18T21:53:27Z","Wing":false,"Influence":"++","Reputation":"++","Reward":692556,"MissionID":847902618}
{"timestamp":"2022-02-17T21:54:36Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"MISSION_Salvage_Illegal","LocalisedName":"Illegal Black Box Salvage Operation","Commodity":"$USSCargoBlackBox_Name;","Commodity_Localised":"Black Box","Count":1,"DestinationSystem":"HIP 7211","Expiry":"2022-02-22T08:56:09Z","Wing":false,"Influence":"++","Reputation":"++","Reward":261503,"MissionID":847902705}
{"timestamp":"2022-02-17T21:56:32Z","event":"FSDJump","StarSystem":"HIP 7211","SystemAddress":1281804437867,"StarPos":[79.65625,-167.9375,25.875],"SystemAllegiance":"Empire","SystemEconomy":"$economy_Extraction;","SystemEconomy_Localised":"Extraction","SystemSecondEconomy":"$economy_Colony;","SystemSecondEconomy_Localised":"Colony","SystemGovernment":"$government_Patronage;","SystemGovernment_Localised":"Patronage","SystemSecurity":"$SYSTEM_SECURITY_medium;","SystemSecurity_Localised":"Medium Security","Population":788783,"Body":"HIP 7211 A","BodyID":1,"BodyType":"Star","JumpDist":7.827,"FuelUsed":0.43976,"FuelLevel":28.542736,"Factions":[{"Name":"HIP 7211 Empire Pact","FactionState":"None","Government":"Patronage","Influence":0.167335,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Peraesii Empire Consulate","FactionState":"None","Government":"Patronage","Influence":0.467936,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":100.0,"PendingStates":[{"State":"Expansion","Trend":0}]},{"Name":"HIP 7211 Jet Netcoms Group","FactionState":"None","Government":"Corporate","Influence":0.037074,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"HIP 7211 Purple Bridge & Co","FactionState":"None","Government":"Corporate","Influence":0.131263,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"HIP 7211 Gold Dragons","FactionState":"None","Government":"Anarchy","Influence":0.032064,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"People's HIP 7211 Independents","FactionState":"None","Government":"Democracy","Influence":0.103206,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Empire Consulate Ltd","FactionState":"None","Government":"Patronage","Influence":0.061122,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-2.475}],"SystemFaction":{"Name":"Peraesii Empire Consulate"}}
{"timestamp":"2022-02-17T22:05:11Z","event":"MissionFailed","Name":"MISSION_Scan_name","MissionID":847898515}
{"timestamp":"2022-02-17T22:05:15Z","event":"MissionFailed","Name":"MISSION_Scan_name","MissionID":847898508}
{"timestamp":"2022-02-17T22:05:18Z","event":"MissionFailed","Name":"MISSION_Scan_name","MissionID":847898503}
{"timestamp":"2022-02-17T22:05:23Z","event":"MissionFailed","Name":"Mission_LongDistanceExpedition_name","MissionID":847899182}
{"timestamp":"2022-02-17T22:05:27Z","event":"MissionFailed","Name":"Mission_Sightseeing_name","MissionID":847899046}
{"timestamp":"2022-02-17T22:05:30Z","event":"MissionFailed","Name":"Mission_Sightseeing_name","MissionID":847898991}
{"timestamp":"2022-02-17T22:05:33Z","event":"MissionFailed","Name":"Mission_Sightseeing_name","MissionID":847898932}
{"timestamp":"2022-02-17T22:05:41Z","event":"MissionFailed","Name":"Mission_Sightseeing_name","MissionID":847898915}
{"timestamp":"2022-02-17T22:23:06Z","event":"FSDJump","StarSystem":"Kelish","SystemAddress":2871319405993,"StarPos":[95.09375,-164.375,13.34375],"SystemAllegiance":"Independent","SystemEconomy":"$economy_HighTech;","SystemEconomy_Localised":"High Tech","SystemSecondEconomy":"$economy_Refinery;","SystemSecondEconomy_Localised":"Refinery","SystemGovernment":"$government_Cooperative;","SystemGovernment_Localised":"Cooperative","SystemSecurity":"$SYSTEM_SECURITY_high;","SystemSecurity_Localised":"High Security","Population":31349315,"Body":"Kelish A","BodyID":1,"BodyType":"Star","JumpDist":20.2,"FuelUsed":4.51866,"FuelLevel":22.764078,"Factions":[{"Name":"Peraesii Empire Consulate","FactionState":"None","Government":"Patronage","Influence":0.052052,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":100.0,"PendingStates":[{"State":"Expansion","Trend":0}]},{"Name":"Kelish Citizens' Forum","FactionState":"None","Government":"Patronage","Influence":0.114114,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-9.65679,"PendingStates":[{"State":"Election","Trend":0}]},{"Name":"Kelish Limited","FactionState":"None","Government":"Corporate","Influence":0.041041,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Kelish Posse","FactionState":"None","Government":"Anarchy","Influence":0.01001,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-15.84},{"Name":"Kelish Empire Consulate","FactionState":"None","Government":"Patronage","Influence":0.038038,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Decimus Imperium Lex","FactionState":"None","Government":"Feudal","Influence":0.114114,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":33.0,"PendingStates":[{"State":"Election","Trend":0}]},{"Name":"The Order of Mobius","FactionState":"Boom","Government":"Cooperative","Influence":0.630631,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":100.0,"RecoveringStates":[{"State":"Expansion","Trend":0}],"ActiveStates":[{"State":"Boom"}]}],"SystemFaction":{"Name":"The Order of Mobius","FactionState":"Boom"},"Conflicts":[{"WarType":"election","Status":"pending","Faction1":{"Name":"Kelish Citizens' Forum","Stake":"Bowell Enterprise","WonDays":0},"Faction2":{"Name":"Decimus Imperium Lex","Stake":"Delaunay Orbital","WonDays":0}}]}
{"timestamp":"2022-02-17T22:26:10Z","event":"Docked","StationName":"Tikhonravov Orbital","StationType":"Outpost","StarSystem":"Kelish","SystemAddress":2871319405993,"MarketID":3224635136,"StationFaction":{"Name":"The Order of Mobius","FactionState":"Boom"},"StationGovernment":"$government_Cooperative;","StationGovernment_Localised":"Cooperative","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_HighTech;","StationEconomy_Localised":"High Tech","StationEconomies":[{"Name":"$economy_HighTech;","Name_Localised":"High Tech","Proportion":0.67},{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":0.33}],"DistFromStarLS":70.905454}
{"timestamp":"2022-02-17T22:34:30Z","event":"FSDJump","StarSystem":"ICZ JR-W c1-10","SystemAddress":2832765686490,"StarPos":[88.0,-169.1875,23.3125],"SystemAllegiance":"","SystemEconomy":"$economy_None;","SystemEconomy_Localised":"None","SystemSecondEconomy":"$economy_None;","SystemSecondEconomy_Localised":"None","SystemGovernment":"$government_None;","SystemGovernment_Localised":"None","SystemSecurity":"$GAlAXY_MAP_INFO_state_anarchy;","SystemSecurity_Localised":"Anarchy","Population":0,"Body":"ICZ JR-W c1-10 A","BodyID":1,"BodyType":"Star","JumpDist":13.148,"FuelUsed":2.352166,"FuelLevel":29.647835}
{"timestamp":"2022-02-17T22:35:33Z","event":"FSDJump","StarSystem":"Yao Tzu","SystemAddress":7269097416113,"StarPos":[82.78125,-174.6875,28.3125],"SystemAllegiance":"Empire","SystemEconomy":"$economy_Industrial;","SystemEconomy_Localised":"Industrial","SystemSecondEconomy":"$economy_None;","SystemSecondEconomy_Localised":"None","SystemGovernment":"$government_Patronage;","SystemGovernment_Localised":"Patronage","SystemSecurity":"$SYSTEM_SECURITY_medium;","SystemSecurity_Localised":"Medium Security","Population":4049046,"Body":"Yao Tzu A","BodyID":2,"BodyType":"Star","JumpDist":9.082,"FuelUsed":0.943402,"FuelLevel":28.704433,"Factions":[{"Name":"Peraesii Empire Consulate","FactionState":"None","Government":"Patronage","Influence":0.193,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":100.0,"PendingStates":[{"State":"Expansion","Trend":0}]},{"Name":"Yao Tzu Exchange","FactionState":"None","Government":"Corporate","Influence":0.064,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Yao Tzu Blue Partnership","FactionState":"None","Government":"Anarchy","Influence":0.028,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Traditional Yao Tzu Liberty Party","FactionState":"None","Government":"Dictatorship","Influence":0.059,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-34.049999},{"Name":"Citizen Party of Yao Tzu","FactionState":"None","Government":"Communism","Influence":0.027,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Browncoat Uprising","FactionState":"None","Government":"Confederacy","Influence":0.076,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":1.32,"PendingStates":[{"State":"Expansion","Trend":0}]},{"Name":"Empire Consulate Ltd","FactionState":"None","Government":"Patronage","Influence":0.553,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-2.475}],"SystemFaction":{"Name":"Empire Consulate Ltd"}}
{"timestamp":"2022-02-17T22:38:37Z","event":"Docked","StationName":"Orbik Port","StationType":"Coriolis","StarSystem":"Yao Tzu","SystemAddress":7269097416113,"MarketID":3222901760,"StationFaction":{"Name":"Empire Consulate Ltd"},"StationGovernment":"$government_Patronage;","StationGovernment_Localised":"Patronage","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Industrial;","StationEconomy_Localised":"Industrial","StationEconomies":[{"Name":"$economy_Industrial;","Name_Localised":"Industrial","Proportion":1.0}],"DistFromStarLS":733.354712}
{"timestamp":"2022-02-17T22:39:10Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_AltruismCredits","LocalisedName":"Donate 200,000 Cr to the cause","Donation":"200000","Expiry":"2022-02-18T02:27:41Z","Wing":false,"Influence":"+","Reputation":"+","MissionID":847913657}
{"timestamp":"2022-02-17T22:39:17Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_AltruismCredits","LocalisedName":"Donate 200,000 Cr to the cause","Donation":"200000","Expiry":"2022-02-18T02:11:10Z","Wing":false,"Influence":"+","Reputation":"+","MissionID":847913676}
{"timestamp":"2022-02-17T22:39:22Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_AltruismCredits","LocalisedName":"Donate 200,000 Cr to the cause","Donation":"200000","Expiry":"2022-02-18T02:14:45Z","Wing":false,"Influence":"+","Reputation":"+","MissionID":847913693}
{"timestamp":"2022-02-17T22:39:28Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_AltruismCredits","LocalisedName":"Donate 1,000,000 Cr to the cause","Donation":"1000000","Expiry":"2022-02-18T02:29:10Z","Wing":false,"Influence":"++","Reputation":"++","MissionID":847913716}
{"timestamp":"2022-02-17T22:39:32Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_AltruismCredits","LocalisedName":"Donate 1,000,000 Cr to the cause","Donation":"1000000","Expiry":"2022-02-18T02:04:27Z","Wing":false,"Influence":"++","Reputation":"++","MissionID":847913728}
{"timestamp":"2022-02-17T22:42:50Z","event":"FSDJump","StarSystem":"Fengthi","SystemAddress":2871050905009,"StarPos":[80.28125,-178.53125,30.15625],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Extraction;","SystemEconomy_Localised":"Extraction","SystemSecondEconomy":"$economy_Refinery;","SystemSecondEconomy_Localised":"Refinery","SystemGovernment":"$government_Anarchy;","SystemGovernment_Localised":"Anarchy","SystemSecurity":"$GAlAXY_MAP_INFO_state_anarchy;","SystemSecurity_Localised":"Anarchy","Population":94445,"Body":"Fengthi","BodyID":0,"BodyType":"Star","JumpDist":4.942,"FuelUsed":0.145158,"FuelLevel":31.854841,"Factions":[{"Name":"Peraesii Empire Consulate","FactionState":"None","Government":"Patronage","Influence":0.269,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":85.150002,"PendingStates":[{"State":"Expansion","Trend":0}]},{"Name":"Fengthi Holdings","FactionState":"None","Government":"Corporate","Influence":0.098,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":7.425},{"Name":"Fengthi allied","FactionState":"None","Government":"Cooperative","Influence":0.041,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":2.64},{"Name":"Temurt Drug Empire","FactionState":"Bust","Government":"Anarchy","Influence":0.418,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":22.2589,"RecoveringStates":[{"State":"PirateAttack","Trend":0}],"ActiveStates":[{"State":"Bust"}]},{"Name":"Fengthi Nobles","FactionState":"None","Government":"Feudal","Influence":0.065,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Traditional Yao Tzu Liberty Party","FactionState":"None","Government":"Dictatorship","Influence":0.087,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":35.450001},{"Name":"Fengthi Blue Camorra","FactionState":"None","Government":"Anarchy","Influence":0.022,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0}],"SystemFaction":{"Name":"Temurt Drug Empire","FactionState":"Bust"}}
{"timestamp":"2022-02-17T22:46:43Z","event":"Docked","StationName":"Gurevich Vision","StationType":"Outpost","StarSystem":"Fengthi","SystemAddress":2871050905009,"MarketID":3222901504,"StationFaction":{"Name":"Temurt Drug Empire","FactionState":"Bust"},"StationGovernment":"$government_Anarchy;","StationGovernment_Localised":"Anarchy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","outfitting","crewlounge","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Extraction;","StationEconomy_Localised":"Extraction","StationEconomies":[{"Name":"$economy_Extraction;","Name_Localised":"Extraction","Proportion":0.83},{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":0.17}],"DistFromStarLS":1256.729721}
{"timestamp":"2022-02-17T22:49:57Z","event":"FSDJump","StarSystem":"ICZ SI-T b3-2","SystemAddress":5070074160569,"StarPos":[93.34375,-180.75,42.46875],"SystemAllegiance":"","SystemEconomy":"$economy_None;","SystemEconomy_Localised":"None","SystemSecondEconomy":"$economy_None;","SystemSecondEconomy_Localised":"None","SystemGovernment":"$government_None;","SystemGovernment_Localised":"None","SystemSecurity":"$GAlAXY_MAP_INFO_state_anarchy;","SystemSecurity_Localised":"Anarchy","Population":0,"Body":"ICZ SI-T b3-2 A","BodyID":2,"BodyType":"Star","JumpDist":18.087,"FuelUsed":3.484218,"FuelLevel":28.370623}
{"timestamp":"2022-02-17T22:50:49Z","event":"FSDJump","StarSystem":"Rukarwadja","SystemAddress":672296084921,"StarPos":[100.90625,-184.125,39.625],"SystemAllegiance":"Empire","SystemEconomy":"$economy_Agri;","SystemEconomy_Localised":"Agriculture","SystemSecondEconomy":"$economy_Tourism;","SystemSecondEconomy_Localised":"Tourism","SystemGovernment":"$government_Corporate;","SystemGovernment_Localised":"Corporate","SystemSecurity":"$SYSTEM_SECURITY_medium;","SystemSecurity_Localised":"Medium Security","Population":9529639756,"Body":"Rukarwadja","BodyID":0,"BodyType":"Star","JumpDist":8.756,"FuelUsed":0.581701,"FuelLevel":27.788921,"Factions":[{"Name":"Rukarwadja Emperor's Grace","FactionState":"CivilWar","Government":"Patronage","Influence":0.14881,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"CivilWar"}]},{"Name":"Rukarwadja Holdings","FactionState":"None","Government":"Corporate","Influence":0.450397,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":2.5466},{"Name":"Raiders of Rukarwadja","FactionState":"None","Government":"Anarchy","Influence":0.026786,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Traditional Yao Tzu Liberty Party","FactionState":"None","Government":"Dictatorship","Influence":0.042659,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":51.450001},{"Name":"Rukarwadja General Partners","FactionState":"CivilWar","Government":"Corporate","Influence":0.14881,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"CivilWar"}]},{"Name":"New Rukarwadja Free","FactionState":"None","Government":"Democracy","Influence":0.059524,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Di Yomi Praetorian Confederacy","FactionState":"None","Government":"Confederacy","Influence":0.123016,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0}],"SystemFaction":{"Name":"Rukarwadja Holdings"},"Conflicts":[{"WarType":"civilwar","Status":"active","Faction1":{"Name":"Rukarwadja Emperor's Grace","Stake":"Regent's Villas","WonDays":0},"Faction2":{"Name":"Rukarwadja General Partners","Stake":"Purandare's Works","WonDays":0}}]}
{"timestamp":"2022-02-17T22:53:56Z","event":"Docked","StationName":"Wallerstein Port","StationType":"Orbis","StarSystem":"Rukarwadja","SystemAddress":672296084921,"MarketID":3224498944,"StationFaction":{"Name":"Rukarwadja Holdings"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Agri;","StationEconomy_Localised":"Agriculture","StationEconomies":[{"Name":"$economy_Agri;","Name_Localised":"Agriculture","Proportion":1.0}],"DistFromStarLS":81.79269}
{"timestamp":"2022-02-17T22:55:09Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"MISSION_Scan","LocalisedName":"Planetary Scan Job","DestinationSystem":"Sangenses","DestinationStation":"Paulo da Gama Barracks","Expiry":"2022-02-21T21:55:28Z","Wing":false,"Influence":"++","Reputation":"++","Reward":710530,"MissionID":847917114}
{"timestamp":"2022-02-17T22:55:12Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"MISSION_Scan","LocalisedName":"Planetary Scan Job","DestinationSystem":"HIP 7040","DestinationStation":"Leckie Barracks","Expiry":"2022-02-22T17:35:13Z","Wing":false,"Influence":"++","Reputation":"++","Reward":712933,"MissionID":847917127}
{"timestamp":"2022-02-17T22:55:14Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"MISSION_Scan","LocalisedName":"Planetary Scan Job","DestinationSystem":"HIP 7040","DestinationStation":"Ponce de Leon Enterprise","Expiry":"2022-02-21T03:38:43Z","Wing":false,"Influence":"++","Reputation":"++","Reward":715312,"MissionID":847917140}
{"timestamp":"2022-02-17T22:55:16Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"MISSION_Scan","LocalisedName":"Planetary Scan Job","DestinationSystem":"HIP 7040","DestinationStation":"Ponce de Leon Enterprise","Expiry":"2022-02-24T22:54:13Z","Wing":false,"Influence":"++","Reputation":"++","Reward":2410156,"MissionID":847917145}
{"timestamp":"2022-02-17T22:55:45Z","event":"Docked","StationName":"Wallerstein Port","StationType":"Orbis","StarSystem":"Rukarwadja","SystemAddress":672296084921,"MarketID":3224498944,"StationFaction":{"Name":"Rukarwadja Holdings"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Agri;","StationEconomy_Localised":"Agriculture","StationEconomies":[{"Name":"$economy_Agri;","Name_Localised":"Agriculture","Proportion":1.0}],"DistFromStarLS":81.793432}
{"timestamp":"2022-02-17T22:56:20Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Sightseeing","LocalisedName":"Madilyn Collins Seeks Sightseeing Adventure","Commodity":"$DomesticAppliances_Name;","Commodity_Localised":"Domestic Appliances","Count":3,"DestinationSystem":"HIP 11263$MISSIONUTIL_MULTIPLE_FINAL_SEPARATOR;Tchernobog","Expiry":"2022-02-18T16:00:11Z","Wing":false,"Influence":"+","Reputation":"+","Reward":2634160,"PassengerCount":5,"PassengerVIPs":true,"PassengerWanted":true,"PassengerType":"Tourist","MissionID":847917343}
{"timestamp":"2022-02-17T22:56:27Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Sightseeing","LocalisedName":"Jess Fleming Seeks Sightseeing Adventure","Commodity":"$Clothing_Name;","Commodity_Localised":"Clothing","Count":1,"DestinationSystem":"HIP 11263$MISSIONUTIL_MULTIPLE_FINAL_SEPARATOR;NLTT 21088","Expiry":"2022-02-18T10:25:57Z","Wing":false,"Influence":"+","Reputation":"+","Reward":4375900,"PassengerCount":7,"PassengerVIPs":true,"PassengerWanted":true,"PassengerType":"Tourist","MissionID":847917375}
{"timestamp":"2022-02-17T22:56:47Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Sightseeing","LocalisedName":"Isaac Middleton Seeks Sightseeing Adventure","Commodity":"$Clothing_Name;","Commodity_Localised":"Clothing","Count":3,"DestinationSystem":"Carthage$MISSIONUTIL_MULTIPLE_FINAL_SEPARATOR;HIP 42455","Expiry":"2022-02-18T16:07:05Z","Wing":false,"Influence":"++","Reputation":"++","Reward":3854800,"PassengerCount":4,"PassengerVIPs":true,"PassengerWanted":false,"PassengerType":"Tourist","MissionID":847917444}
{"timestamp":"2022-02-17T22:56:53Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Sightseeing","LocalisedName":"Gil Petersen-Reilly Seeks Sightseeing Adventure","Commodity":"$ConsumerTechnology_Name;","Commodity_Localised":"Consumer Technology","Count":2,"DestinationSystem":"HIP 112002","Expiry":"2022-02-18T10:19:44Z","Wing":false,"Influence":"+","Reputation":"+","Reward":2166000,"PassengerCount":6,"PassengerVIPs":true,"PassengerWanted":false,"PassengerType":"Tourist","MissionID":847917465}
{"timestamp":"2022-02-17T22:57:03Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Sightseeing","LocalisedName":"Aislin Finch Seeks Sightseeing Adventure","Commodity":"$DomesticAppliances_Name;","Commodity_Localised":"Domestic Appliances","Count":2,"DestinationSystem":"Ch'eng$MISSIONUTIL_MULTIPLE_FINAL_SEPARATOR;Mu Koji","Expiry":"2022-02-18T14:42:04Z","Wing":false,"Influence":"+","Reputation":"+","Reward":1862400,"PassengerCount":2,"PassengerVIPs":true,"PassengerWanted":true,"PassengerType":"Tourist","MissionID":847917494}
{"timestamp":"2022-02-17T22:57:11Z","event":"MissionAccepted","Faction":"Traditional Yao Tzu Liberty Party","Name":"Mission_Sightseeing","LocalisedName":"Anushka Clay Seeks Sightseeing Adventure","Commodity":"$ConsumerTechnology_Name;","Commodity_Localised":"Consumer Technology","Count":2,"DestinationSystem":"Guttors$MISSIONUTIL_MULTIPLE_INNER_SEPARATOR;Caleta$MISSIONUTIL_MULTIPLE_FINAL_SEPARATOR;Ither","Expiry":"2022-02-18T09:18:21Z","Wing":false,"Influence":"+","Reputation":"+","Reward":6830000,"PassengerCount":8,"PassengerVIPs":true,"PassengerWanted":false,"PassengerType":"Tourist","MissionID":847917524}
{"timestamp":"2022-02-17T23:00:46Z","event":"Docked","StationName":"Wallerstein Port","StationType":"Orbis","StarSystem":"Rukarwadja","SystemAddress":672296084921,"MarketID":3224498944,"StationFaction":{"Name":"Rukarwadja Holdings"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Agri;","StationEconomy_Localised":"Agriculture","StationEconomies":[{"Name":"$economy_Agri;","Name_Localised":"Agriculture","Proportion":1.0}],"DistFromStarLS":81.795326}
{"timestamp":"2022-02-17T23:01:02Z","event":"MissionFailed","Name":"Mission_Sightseeing_name","MissionID":847917494}
{"timestamp":"2022-02-17T23:01:07Z","event":"MissionFailed","Name":"Mission_Sightseeing_name","MissionID":847917465}
{"timestamp":"2022-02-17T23:01:11Z","event":"MissionFailed","Name":"Mission_Sightseeing_name","MissionID":847917375}
{"timestamp":"2022-02-17T23:01:15Z","event":"MissionFailed","Name":"Mission_Sightseeing_name","MissionID":847917343}
{"timestamp":"2022-02-17T23:01:19Z","event":"MissionFailed","Name":"Mission_Sightseeing_name","MissionID":847917444}
{"timestamp":"2022-02-17T23:01:23Z","event":"MissionFailed","Name":"Mission_Sightseeing_name","MissionID":847917524}
{"timestamp":"2022-02-17T23:02:33Z","event":"Docked","StationName":"Wallerstein Port","StationType":"Orbis","StarSystem":"Rukarwadja","SystemAddress":672296084921,"MarketID":3224498944,"StationFaction":{"Name":"Rukarwadja Holdings"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Agri;","StationEconomy_Localised":"Agriculture","StationEconomies":[{"Name":"$economy_Agri;","Name_Localised":"Agriculture","Proportion":1.0}],"DistFromStarLS":81.795937}
{"timestamp":"2022-02-17T23:10:05Z","event":"Location","Docked":true,"StationName":"Wallerstein Port","StationType":"Orbis","MarketID":3224498944,"StationFaction":{"Name":"Rukarwadja Holdings"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Agri;","StationEconomy_Localised":"Agriculture","StationEconomies":[{"Name":"$economy_Agri;","Name_Localised":"Agriculture","Proportion":1.0}],"StarSystem":"Rukarwadja","SystemAddress":672296084921,"StarPos":[100.90625,-184.125,39.625],"SystemAllegiance":"Empire","SystemEconomy":"$economy_Agri;","SystemEconomy_Localised":"Agriculture","SystemSecondEconomy":"$economy_Tourism;","SystemSecondEconomy_Localised":"Tourism","SystemGovernment":"$government_Corporate;","SystemGovernment_Localised":"Corporate","SystemSecurity":"$SYSTEM_SECURITY_medium;","SystemSecurity_Localised":"Medium Security","Population":9529639756,"Body":"Wallerstein Port","BodyID":31,"BodyType":"Station","Factions":[{"Name":"Rukarwadja Emperor's Grace","FactionState":"CivilWar","Government":"Patronage","Influence":0.14881,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"CivilWar"}]},{"Name":"Rukarwadja Holdings","FactionState":"None","Government":"Corporate","Influence":0.450397,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":2.5466},{"Name":"Raiders of Rukarwadja","FactionState":"None","Government":"Anarchy","Influence":0.026786,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Traditional Yao Tzu Liberty Party","FactionState":"None","Government":"Dictatorship","Influence":0.042659,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":-27.75},{"Name":"Rukarwadja General Partners","FactionState":"CivilWar","Government":"Corporate","Influence":0.14881,"Allegiance":"Empire","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"CivilWar"}]},{"Name":"New Rukarwadja Free","FactionState":"None","Government":"Democracy","Influence":0.059524,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Di Yomi Praetorian Confederacy","FactionState":"None","Government":"Confederacy","Influence":0.123016,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0}],"SystemFaction":{"Name":"Rukarwadja Holdings"},"Conflicts":[{"WarType":"civilwar","Status":"active","Faction1":{"Name":"Rukarwadja Emperor's Grace","Stake":"Regent's Villas","WonDays":0},"Faction2":{"Name":"Rukarwadja General Partners","Stake":"Purandare's Works","WonDays":0}}]}
{"timestamp":"2022-02-17T23:10:05Z","event":"Docked","StationName":"Wallerstein Port","StationType":"Orbis","StarSystem":"Rukarwadja","SystemAddress":672296084921,"MarketID":3224498944,"StationFaction":{"Name":"Rukarwadja Holdings"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Empire","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Agri;","StationEconomy_Localised":"Agriculture","StationEconomies":[{"Name":"$economy_Agri;","Name_Localised":"Agriculture","Proportion":1.0}],"DistFromStarLS":81.798201}
{"timestamp":"2022-02-17T23:10:14Z","event":"MissionFailed","Name":"MISSION_Scan_name","MissionID":847917140}
{"timestamp":"2022-02-17T23:10:17Z","event":"MissionFailed","Name":"MISSION_Scan_name","MissionID":847917127}
{"timestamp":"2022-02-17T23:10:21Z","event":"MissionFailed","Name":"MISSION_Scan_name","MissionID":847917114}
{"timestamp":"2022-02-17T23:10:24Z","event":"MissionFailed","Name":"MISSION_Scan_name","MissionID":847917145}

View File

@ -1,21 +0,0 @@
{"timestamp":"2022-02-25T21:01:17Z","event":"FSDJump","StarSystem":"Dewikum","SystemAddress":9467315955081,"StarPos":[19.375,-0.28125,-68.9375],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Refinery;","SystemEconomy_Localised":"Refinery","SystemSecondEconomy":"$economy_Extraction;","SystemSecondEconomy_Localised":"Extraction","SystemGovernment":"$government_Democracy;","SystemGovernment_Localised":"Democracy","SystemSecurity":"$SYSTEM_SECURITY_low;","SystemSecurity_Localised":"Low Security","Population":83688,"Body":"Dewikum A","BodyID":1,"BodyType":"Star","Powers":["Zachary Hudson"],"PowerplayState":"Exploited","JumpDist":9.563,"FuelUsed":0.101743,"FuelLevel":27.23897,"Factions":[{"Name":"LHS 1857 Jet Galactic Systems","FactionState":"None","Government":"Corporate","Influence":0.077077,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"RecoveringStates":[{"State":"Election","Trend":0}]},{"Name":"Social LHS 6103 Confederation","FactionState":"Election","Government":"Confederacy","Influence":0.29029,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand1;","Happiness_Localised":"Elated","MyReputation":47.812199,"ActiveStates":[{"State":"Boom"},{"State":"Election"}]},{"Name":"Susanoo Jet Fortune Corporation","FactionState":"None","Government":"Corporate","Influence":0.117117,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"RecoveringStates":[{"State":"Election","Trend":0}]},{"Name":"Dewikum League","FactionState":"None","Government":"Confederacy","Influence":0.128128,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Dewikum Blue Ring","FactionState":"None","Government":"Anarchy","Influence":0.01001,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Silver Dynamic Limited","FactionState":"None","Government":"Corporate","Influence":0.087087,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Flotta Stellare","FactionState":"Election","Government":"Democracy","Influence":0.29029,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"PendingStates":[{"State":"Expansion","Trend":0}],"RecoveringStates":[{"State":"InfrastructureFailure","Trend":0}],"ActiveStates":[{"State":"CivilUnrest"},{"State":"Election"}]}],"SystemFaction":{"Name":"Flotta Stellare","FactionState":"Election"},"Conflicts":[{"WarType":"election","Status":"","Faction1":{"Name":"LHS 1857 Jet Galactic Systems","Stake":"Barnett Dredging Complex","WonDays":1},"Faction2":{"Name":"Susanoo Jet Fortune Corporation","Stake":"Ware Dredging Reserve","WonDays":1}},{"WarType":"election","Status":"active","Faction1":{"Name":"Social LHS 6103 Confederation","Stake":"Mahto Metallurgic Territory","WonDays":2},"Faction2":{"Name":"Flotta Stellare","Stake":"Wyeth Platform","WonDays":0}}]}
{"timestamp":"2022-02-25T21:17:15Z","event":"Docked","StationName":"Wyeth Platform","StationType":"Outpost","StarSystem":"Dewikum","SystemAddress":9467315955081,"MarketID":3228303360,"StationFaction":{"Name":"Flotta Stellare","FactionState":"Election"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","facilitator","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":222506.593359}
{"timestamp":"2022-02-25T21:17:53Z","event":"MissionAccepted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Courier_Elections","LocalisedName":"Courier for Sensitive Poll Data","TargetFaction":"Breksta Democrats","DestinationSystem":"Breksta","DestinationStation":"Brooks City","Expiry":"2022-02-26T21:17:39Z","Wing":false,"Influence":"++","Reputation":"+","Reward":92833,"MissionID":850025164}
{"timestamp":"2022-02-25T21:17:56Z","event":"MissionAccepted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Courier_Elections","LocalisedName":"Courier for Sensitive Poll Data","TargetFaction":"Bureau of Chang Yeh Focus","DestinationSystem":"Chang Yeh","DestinationStation":"Nicollet City","Expiry":"2022-02-26T21:17:39Z","Wing":false,"Influence":"++","Reputation":"+","Reward":133255,"MissionID":850025176}
{"timestamp":"2022-02-25T21:18:11Z","event":"MissionAccepted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Courier_Elections","LocalisedName":"Courier for Sensitive Poll Data","TargetFaction":"LHS 1794 Noblement","DestinationSystem":"LHS 1794","DestinationStation":"Ricardo Landing","Expiry":"2022-02-26T21:17:39Z","Wing":false,"Influence":"++","Reputation":"+","Reward":77419,"MissionID":850025208}
{"timestamp":"2022-02-25T21:18:16Z","event":"MissionAccepted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Courier_Elections","LocalisedName":"Courier for Sensitive Poll Data","TargetFaction":"Natural Breksta Autocracy","DestinationSystem":"Breksta","DestinationStation":"Wells Hub","Expiry":"2022-02-26T21:17:39Z","Wing":false,"Influence":"++","Reputation":"+","Reward":64994,"MissionID":850025225}
{"timestamp":"2022-02-25T21:18:18Z","event":"MissionAccepted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Courier_Elections","LocalisedName":"Courier for Sensitive Poll Data","TargetFaction":"Delphin Blue Federal PLC","DestinationSystem":"Delphin","DestinationStation":"Aristotle Orbital","Expiry":"2022-02-26T21:17:39Z","Wing":false,"Influence":"+","Reputation":"+","Reward":77300,"MissionID":850025233}
{"timestamp":"2022-02-25T21:19:47Z","event":"FSDJump","StarSystem":"Delphin","SystemAddress":732048656739,"StarPos":[18.65625,16.75,-76.3125],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Agri;","SystemEconomy_Localised":"Agriculture","SystemSecondEconomy":"$economy_Refinery;","SystemSecondEconomy_Localised":"Refinery","SystemGovernment":"$government_Dictatorship;","SystemGovernment_Localised":"Dictatorship","SystemSecurity":"$SYSTEM_SECURITY_high;","SystemSecurity_Localised":"High Security","Population":1024750044,"Body":"Delphin","BodyID":0,"BodyType":"Star","JumpDist":18.573,"FuelUsed":0.532036,"FuelLevel":31.467964,"Factions":[{"Name":"Values Party of Delphin","FactionState":"CivilWar","Government":"Democracy","Influence":0.077472,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"CivilWar"}]},{"Name":"Geawenki Travel Commodities","FactionState":"None","Government":"Corporate","Influence":0.095821,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Delphin Crimson Public Comms","FactionState":"None","Government":"Corporate","Influence":0.06524,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Bureau of Delphin First","FactionState":"None","Government":"Dictatorship","Influence":0.067278,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Delphin Blue Federal PLC","FactionState":"CivilWar","Government":"Corporate","Influence":0.077472,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"CivilWar"}]},{"Name":"Drug Empire of Delphin","FactionState":"None","Government":"Anarchy","Influence":0.010194,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Civitas Dei","FactionState":"Expansion","Government":"Dictatorship","Influence":0.606524,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"RecoveringStates":[{"State":"InfrastructureFailure","Trend":0}],"ActiveStates":[{"State":"Boom"},{"State":"Expansion"}]}],"SystemFaction":{"Name":"Civitas Dei","FactionState":"Expansion"},"Conflicts":[{"WarType":"civilwar","Status":"active","Faction1":{"Name":"Values Party of Delphin","Stake":"Amato Visitor Site","WonDays":1},"Faction2":{"Name":"Delphin Blue Federal PLC","Stake":"","WonDays":0}}]}
{"timestamp":"2022-02-25T21:28:40Z","event":"Docked","StationName":"Aristotle Orbital","StationType":"Outpost","StarSystem":"Delphin","SystemAddress":732048656739,"MarketID":3228188672,"StationFaction":{"Name":"Civitas Dei","FactionState":"Expansion"},"StationGovernment":"$government_Dictatorship;","StationGovernment_Localised":"Dictatorship","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Refinery;","StationEconomy_Localised":"Refinery","StationEconomies":[{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":1.0}],"DistFromStarLS":23659.312748}
{"timestamp":"2022-02-25T21:30:45Z","event":"MissionCompleted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Courier_Elections_name","MissionID":850025233,"TargetFaction":"Delphin Blue Federal PLC","DestinationSystem":"Delphin","DestinationStation":"Aristotle Orbital","Reward":122300,"FactionEffects":[{"Faction":"Social LHS 6103 Confederation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[],"ReputationTrend":"UpGood","Reputation":"+"},{"Faction":"Delphin Blue Federal PLC","Effects":[],"Influence":[],"ReputationTrend":"UpGood","Reputation":"+"}]}
{"timestamp":"2022-02-25T21:32:00Z","event":"FSDJump","StarSystem":"LHS 1794","SystemAddress":670954497425,"StarPos":[5.3125,-1.03125,-62.25],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Industrial;","SystemEconomy_Localised":"Industrial","SystemSecondEconomy":"$economy_Colony;","SystemSecondEconomy_Localised":"Colony","SystemGovernment":"$government_Democracy;","SystemGovernment_Localised":"Democracy","SystemSecurity":"$SYSTEM_SECURITY_medium;","SystemSecurity_Localised":"Medium Security","Population":70688,"Body":"LHS 1794","BodyID":0,"BodyType":"Star","Powers":["Zachary Hudson"],"PowerplayState":"Exploited","JumpDist":26.306,"FuelUsed":1.248171,"FuelLevel":30.751829,"Factions":[{"Name":"Union of LHS 1794 Confederation","FactionState":"None","Government":"Confederacy","Influence":0.156902,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"LHS 1794 Partners","FactionState":"None","Government":"Corporate","Influence":0.082423,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"LHS 1794 Noblement","FactionState":"None","Government":"Feudal","Influence":0.038729,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Tao Ti Group","FactionState":"None","Government":"Corporate","Influence":0.050645,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"LHS 1794 Jet Pirates","FactionState":"None","Government":"Anarchy","Influence":0.00993,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"EXO","FactionState":"None","Government":"Democracy","Influence":0.132075,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":2.64,"PendingStates":[{"State":"Expansion","Trend":0}]},{"Name":"Flotta Stellare","FactionState":"Election","Government":"Democracy","Influence":0.529295,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"PendingStates":[{"State":"Expansion","Trend":0}]}],"SystemFaction":{"Name":"Flotta Stellare","FactionState":"Election"}}
{"timestamp":"2022-02-25T21:40:45Z","event":"Docked","StationName":"Ricardo Landing","StationType":"Outpost","StarSystem":"LHS 1794","SystemAddress":670954497425,"MarketID":3228058112,"StationFaction":{"Name":"Flotta Stellare","FactionState":"Election"},"StationGovernment":"$government_Democracy;","StationGovernment_Localised":"Democracy","StationServices":["dock","autodock","blackmarket","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Extraction;","StationEconomy_Localised":"Extraction","StationEconomies":[{"Name":"$economy_Extraction;","Name_Localised":"Extraction","Proportion":0.83},{"Name":"$economy_Refinery;","Name_Localised":"Refinery","Proportion":0.17}],"DistFromStarLS":2875.5048}
{"timestamp":"2022-02-25T21:41:55Z","event":"MissionCompleted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Courier_Elections_name","MissionID":850025208,"TargetFaction":"LHS 1794 Noblement","DestinationSystem":"LHS 1794","DestinationStation":"Ricardo Landing","Reward":77419,"FactionEffects":[{"Faction":"Social LHS 6103 Confederation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[],"ReputationTrend":"UpGood","Reputation":"+"},{"Faction":"LHS 1794 Noblement","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":670954497425,"Trend":"UpGood","Influence":"++"}],"ReputationTrend":"UpGood","Reputation":"+"}]}
{"timestamp":"2022-02-25T21:43:12Z","event":"FSDJump","StarSystem":"Chang Yeh","SystemAddress":8055378940618,"StarPos":[25.6875,-4.8125,-50.53125],"SystemAllegiance":"Federation","SystemEconomy":"$economy_Industrial;","SystemEconomy_Localised":"Industrial","SystemSecondEconomy":"$economy_Military;","SystemSecondEconomy_Localised":"Military","SystemGovernment":"$government_Corporate;","SystemGovernment_Localised":"Corporate","SystemSecurity":"$SYSTEM_SECURITY_medium;","SystemSecurity_Localised":"Medium Security","Population":3403274,"Body":"Chang Yeh A","BodyID":1,"BodyType":"Star","JumpDist":23.807,"FuelUsed":0.977414,"FuelLevel":31.022585,"Factions":[{"Name":"Chang Yeh Sanctuary","FactionState":"None","Government":"Theocracy","Influence":0.043912,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Cupiat Allied Commodities","FactionState":"None","Government":"Corporate","Influence":0.097804,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Bureau of Chang Yeh Focus","FactionState":"None","Government":"Dictatorship","Influence":0.037924,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Chang Yeh Purple Galactic Ind","FactionState":"None","Government":"Corporate","Influence":0.107784,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Chang Yeh Brothers","FactionState":"None","Government":"Anarchy","Influence":0.012974,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Party of Chang Yeh","FactionState":"None","Government":"Dictatorship","Influence":0.030938,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Earth Defense Fleet","FactionState":"Boom","Government":"Corporate","Influence":0.668663,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":100.0,"RecoveringStates":[{"State":"Outbreak","Trend":0}],"ActiveStates":[{"State":"Boom"}]}],"SystemFaction":{"Name":"Earth Defense Fleet","FactionState":"Boom"}}
{"timestamp":"2022-02-25T21:47:44Z","event":"Docked","StationName":"Nicollet City","StationType":"Coriolis","StarSystem":"Chang Yeh","SystemAddress":8055378940618,"MarketID":3228338688,"StationFaction":{"Name":"Earth Defense Fleet","FactionState":"Boom"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Federation","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","shipyard","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","shop","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Industrial;","StationEconomy_Localised":"Industrial","StationEconomies":[{"Name":"$economy_Industrial;","Name_Localised":"Industrial","Proportion":1.0}],"DistFromStarLS":1654.824396}
{"timestamp":"2022-02-25T21:51:22Z","event":"MissionCompleted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Courier_Elections_name","MissionID":850025176,"TargetFaction":"Bureau of Chang Yeh Focus","DestinationSystem":"Chang Yeh","DestinationStation":"Nicollet City","Reward":13296,"FactionEffects":[{"Faction":"Social LHS 6103 Confederation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[],"ReputationTrend":"UpGood","Reputation":"+"},{"Faction":"Bureau of Chang Yeh Focus","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":8055378940618,"Trend":"UpGood","Influence":"+++"}],"ReputationTrend":"UpGood","Reputation":"+"}]}
{"timestamp":"2022-02-25T21:52:58Z","event":"FSDJump","StarSystem":"Breksta","SystemAddress":147933104483,"StarPos":[29.4375,-6.71875,-70.46875],"SystemAllegiance":"Independent","SystemEconomy":"$economy_Agri;","SystemEconomy_Localised":"Agriculture","SystemSecondEconomy":"$economy_Industrial;","SystemSecondEconomy_Localised":"Industrial","SystemGovernment":"$government_Dictatorship;","SystemGovernment_Localised":"Dictatorship","SystemSecurity":"$SYSTEM_SECURITY_high;","SystemSecurity_Localised":"High Security","Population":7383634297,"Body":"Breksta A","BodyID":1,"BodyType":"Star","JumpDist":20.376,"FuelUsed":0.66761,"FuelLevel":31.33239,"Factions":[{"Name":"Breksta Democrats","FactionState":"None","Government":"Democracy","Influence":0.025845,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Kungurutii Gold Power Org","FactionState":"None","Government":"Corporate","Influence":0.059642,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":3.3},{"Name":"Breksta Purple Electronics Ind","FactionState":"None","Government":"Corporate","Influence":0.233598,"Allegiance":"Federation","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"New Breksta Front","FactionState":"None","Government":"Dictatorship","Influence":0.027833,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":1.65},{"Name":"Breksta Gold Transport Inc","FactionState":"None","Government":"Corporate","Influence":0.038767,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Natural Breksta Autocracy","FactionState":"None","Government":"Dictatorship","Influence":0.119284,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0},{"Name":"Civitas Dei","FactionState":"Expansion","Government":"Dictatorship","Influence":0.49503,"Allegiance":"Independent","Happiness":"$Faction_HappinessBand2;","Happiness_Localised":"Happy","MyReputation":0.0,"ActiveStates":[{"State":"Expansion"}]}],"SystemFaction":{"Name":"Civitas Dei","FactionState":"Expansion"}}
{"timestamp":"2022-02-25T21:58:44Z","event":"Docked","StationName":"Wells Hub","StationType":"Outpost","StarSystem":"Breksta","SystemAddress":147933104483,"MarketID":3228191744,"StationFaction":{"Name":"Breksta Purple Electronics Ind"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Federation","StationServices":["dock","autodock","commodities","contacts","exploration","missions","outfitting","crewlounge","rearm","refuel","repair","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Industrial;","StationEconomy_Localised":"Industrial","StationEconomies":[{"Name":"$economy_Industrial;","Name_Localised":"Industrial","Proportion":1.0}],"DistFromStarLS":3464.286658}
{"timestamp":"2022-02-25T22:01:39Z","event":"MissionCompleted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Courier_Elections_name","MissionID":850025225,"TargetFaction":"Natural Breksta Autocracy","DestinationSystem":"Breksta","DestinationStation":"Wells Hub","Reward":139994,"FactionEffects":[{"Faction":"Social LHS 6103 Confederation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[],"ReputationTrend":"UpGood","Reputation":"+"},{"Faction":"Natural Breksta Autocracy","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":147933104483,"Trend":"UpGood","Influence":"+"}],"ReputationTrend":"UpGood","Reputation":"+"}]}
{"timestamp":"2022-02-25T22:07:13Z","event":"Docked","StationName":"Brooks City","StationType":"Outpost","StarSystem":"Breksta","SystemAddress":147933104483,"MarketID":3228192000,"StationFaction":{"Name":"Breksta Purple Electronics Ind"},"StationGovernment":"$government_Corporate;","StationGovernment_Localised":"Corporate","StationAllegiance":"Federation","StationServices":["dock","autodock","commodities","contacts","exploration","missions","refuel","repair","tuning","engineer","missionsgenerated","flightcontroller","stationoperations","powerplay","searchrescue","stationMenu","socialspace","bartender","vistagenomics","pioneersupplies","apexinterstellar","frontlinesolutions"],"StationEconomy":"$economy_Industrial;","StationEconomy_Localised":"Industrial","StationEconomies":[{"Name":"$economy_Industrial;","Name_Localised":"Industrial","Proportion":1.0}],"DistFromStarLS":3610.413424}
{"timestamp":"2022-02-25T22:07:26Z","event":"MissionCompleted","Faction":"Social LHS 6103 Confederation","Name":"Mission_Courier_Elections_name","MissionID":850025164,"TargetFaction":"Breksta Democrats","DestinationSystem":"Breksta","DestinationStation":"Brooks City","Reward":130397,"FactionEffects":[{"Faction":"Breksta Democrats","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[{"SystemAddress":147933104483,"Trend":"UpGood","Influence":"+"}],"ReputationTrend":"UpGood","Reputation":"+"},{"Faction":"Social LHS 6103 Confederation","Effects":[{"Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;","Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.","Trend":"UpGood"}],"Influence":[],"ReputationTrend":"UpGood","Reputation":"+"}]}

View File

@ -1,14 +0,0 @@
{ "timestamp":"2022-02-11T12:31:28Z", "event":"FSDJump", "Taxi":false, "Multicrew":false, "StarSystem":"CD-60 278", "SystemAddress":672027715001, "StarPos":[89.87500,-153.87500,40.87500], "SystemAllegiance":"Empire", "SystemEconomy":"$economy_Military;", "SystemEconomy_Localised":"Military", "SystemSecondEconomy":"$economy_HighTech;", "SystemSecondEconomy_Localised":"High Tech", "SystemGovernment":"$government_Patronage;", "SystemGovernment_Localised":"Patronage", "SystemSecurity":"$SYSTEM_SECURITY_medium;", "SystemSecurity_Localised":"Medium Security", "Population":201705, "Body":"CD-60 278", "BodyID":0, "BodyType":"Star", "JumpDist":6.190, "FuelUsed":0.529440, "FuelLevel":17.500498, "Factions":[ { "Name":"CD-60 278 Emperor's Grace", "FactionState":"CivilWar", "Government":"Patronage", "Influence":0.141294, "Allegiance":"Empire", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":0.000000, "ActiveStates":[ { "State":"CivilWar" } ] }, { "Name":"Svari Emperor's Grace", "FactionState":"None", "Government":"Patronage", "Influence":0.559204, "Allegiance":"Empire", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":0.000000 }, { "Name":"Wardhara Imperial Society", "FactionState":"Retreat", "Government":"Patronage", "Influence":0.009950, "Allegiance":"Empire", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":-42.000000, "ActiveStates":[ { "State":"Retreat" } ] }, { "Name":"CD-60 278 Crimson Organisation", "FactionState":"None", "Government":"Anarchy", "Influence":0.074627, "Allegiance":"Independent", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":0.000000 }, { "Name":"CD-60 278 Crimson Life Company", "FactionState":"None", "Government":"Corporate", "Influence":0.051741, "Allegiance":"Empire", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":0.000000 }, { "Name":"Workers of CD-60 278 Values Party", "FactionState":"CivilWar", "Government":"Democracy", "Influence":0.141294, "Allegiance":"Independent", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":0.000000, "ActiveStates":[ { "State":"CivilWar" } ] }, { "Name":"CD-60 278 Crimson Gang", "FactionState":"None", "Government":"Anarchy", "Influence":0.021891, "Allegiance":"Independent", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":0.000000 } ], "SystemFaction":{ "Name":"Svari Emperor's Grace" }, "Conflicts":[ { "WarType":"civilwar", "Status":"active", "Faction1":{ "Name":"CD-60 278 Emperor's Grace", "Stake":"Weinbaum Silo", "WonDays":0 }, "Faction2":{ "Name":"Workers of CD-60 278 Values Party", "Stake":"", "WonDays":0 } } ] }
{ "timestamp":"2022-02-11T12:36:19Z", "event":"ShipTargeted", "TargetLocked":true, "Ship":"anaconda", "ScanStage":0 }
{ "timestamp":"2022-02-11T12:36:20Z", "event":"ShipTargeted", "TargetLocked":true, "Ship":"anaconda", "ScanStage":1, "PilotName":"$npc_name_decorate:#name=Shortland;", "PilotName_Localised":"Shortland", "PilotRank":"Dangerous" }
{ "timestamp":"2022-02-11T12:36:22Z", "event":"ShipTargeted", "TargetLocked":true, "Ship":"anaconda", "ScanStage":2, "PilotName":"$npc_name_decorate:#name=Shortland;", "PilotName_Localised":"Shortland", "PilotRank":"Dangerous", "ShieldHealth":100.000000, "HullHealth":100.000000 }
{ "timestamp":"2022-02-11T12:36:24Z", "event":"ShipTargeted", "TargetLocked":true, "Ship":"anaconda", "ScanStage":3, "PilotName":"$npc_name_decorate:#name=Shortland;", "PilotName_Localised":"Shortland", "PilotRank":"Dangerous", "ShieldHealth":100.000000, "HullHealth":100.000000, "Faction":"Dei Muata Society", "LegalStatus":"Clean" }
{ "timestamp":"2022-02-11T12:36:26Z", "event":"ShipTargeted", "TargetLocked":true, "Ship":"vulture", "ScanStage":3, "PilotName":"$ShipName_Military_Empire;", "PilotName_Localised":"Imperial Navy Vessel", "PilotRank":"Competent", "ShieldHealth":100.000000, "HullHealth":100.000000, "Faction":"Dei Muata Society", "LegalStatus":"Clean" }
{ "timestamp":"2022-02-11T12:36:26Z", "event":"ShipTargeted", "TargetLocked":true, "Ship":"anaconda", "ScanStage":3, "PilotName":"$npc_name_decorate:#name=Shortland;", "PilotName_Localised":"Shortland", "PilotRank":"Dangerous", "ShieldHealth":100.000000, "HullHealth":100.000000, "Faction":"Dei Muata Society", "LegalStatus":"Clean" }
{ "timestamp":"2022-02-11T12:36:27Z", "event":"ShipTargeted", "TargetLocked":true, "Ship":"vulture", "ScanStage":3, "PilotName":"$ShipName_Military_Empire;", "PilotName_Localised":"Imperial Navy Vessel", "PilotRank":"Competent", "ShieldHealth":100.000000, "HullHealth":100.000000, "Faction":"Dei Muata Society", "LegalStatus":"Clean" }
{ "timestamp":"2022-02-11T12:36:28Z", "event":"ShipTargeted", "TargetLocked":true, "Ship":"anaconda", "ScanStage":3, "PilotName":"$npc_name_decorate:#name=Shortland;", "PilotName_Localised":"Shortland", "PilotRank":"Dangerous", "ShieldHealth":100.000000, "HullHealth":100.000000, "Faction":"Dei Muata Society", "LegalStatus":"Clean" }
{ "timestamp":"2022-02-11T12:36:29Z", "event":"ShipTargeted", "TargetLocked":true, "Ship":"vulture", "ScanStage":3, "PilotName":"$ShipName_Military_Empire;", "PilotName_Localised":"Imperial Navy Vessel", "PilotRank":"Competent", "ShieldHealth":100.000000, "HullHealth":100.000000, "Faction":"Dei Muata Society", "LegalStatus":"Clean" }
{ "timestamp":"2022-02-11T12:36:31Z", "event":"ShipTargeted", "TargetLocked":true, "Ship":"anaconda", "ScanStage":3, "PilotName":"$npc_name_decorate:#name=Shortland;", "PilotName_Localised":"Shortland", "PilotRank":"Dangerous", "ShieldHealth":100.000000, "HullHealth":100.000000, "Faction":"Dei Muata Society", "LegalStatus":"Clean" }
{ "timestamp":"2022-02-11T12:36:36Z", "event":"ReceiveText", "From":"$npc_name_decorate:#name=Shortland;", "From_Localised":"Shortland", "Message":"$BountyHunter_Attack02;", "Message_Localised":"You appear to be a fish worth catching.", "Channel":"npc" }
{ "timestamp":"2022-02-11T12:36:37Z", "event":"CommitCrime", "CrimeType":"assault", "Faction":"Wardhara Imperial Society", "Victim":"Shortland", "Bounty":200 }
{ "timestamp":"2022-02-11T12:38:26Z", "event":"CommitCrime", "CrimeType":"murder", "Faction":"Wardhara Imperial Society", "Victim":"Shortland", "Bounty":4238500 }

View File

@ -1,4 +0,0 @@
{ "timestamp":"2022-02-24T17:32:03Z", "event":"FSDJump", "StarSystem":"Dewikum", "SystemAddress":9467315955081, "StarPos":[19.37500,-0.28125,-68.93750], "SystemAllegiance":"Independent", "SystemEconomy":"$economy_Refinery;", "SystemEconomy_Localised":"Refinery", "SystemSecondEconomy":"$economy_Extraction;", "SystemSecondEconomy_Localised":"Extraction", "SystemGovernment":"$government_Democracy;", "SystemGovernment_Localised":"Democracy", "SystemSecurity":"$SYSTEM_SECURITY_low;", "SystemSecurity_Localised":"Low Security", "Population":83688, "Body":"Dewikum A", "BodyID":1, "BodyType":"Star", "Powers":[ "Zachary Hudson" ], "PowerplayState":"Exploited", "JumpDist":9.563, "FuelUsed":0.107795, "FuelLevel":26.950878, "Factions":[ { "Name":"LHS 1857 Jet Galactic Systems", "FactionState":"Election", "Government":"Corporate", "Influence":0.098098, "Allegiance":"Federation", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":0.000000, "ActiveStates":[ { "State":"Election" } ] }, { "Name":"Social LHS 6103 Confederation", "FactionState":"Election", "Government":"Confederacy", "Influence":0.290290, "Allegiance":"Independent", "Happiness":"$Faction_HappinessBand1;", "Happiness_Localised":"Elated", "MyReputation":41.395901, "ActiveStates":[ { "State":"Boom" }, { "State":"Election" } ] }, { "Name":"Susanoo Jet Fortune Corporation", "FactionState":"Election", "Government":"Corporate", "Influence":0.098098, "Allegiance":"Federation", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":0.000000, "ActiveStates":[ { "State":"Election" } ] }, { "Name":"Dewikum League", "FactionState":"None", "Government":"Confederacy", "Influence":0.125125, "Allegiance":"Federation", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":0.000000 }, { "Name":"Dewikum Blue Ring", "FactionState":"None", "Government":"Anarchy", "Influence":0.010010, "Allegiance":"Independent", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":0.000000 }, { "Name":"Silver Dynamic Limited", "FactionState":"None", "Government":"Corporate", "Influence":0.088088, "Allegiance":"Federation", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":0.000000 }, { "Name":"Flotta Stellare", "FactionState":"Election", "Government":"Democracy", "Influence":0.290290, "Allegiance":"Independent", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":0.000000, "PendingStates":[ { "State":"Expansion", "Trend":0 } ], "RecoveringStates":[ { "State":"InfrastructureFailure", "Trend":0 } ], "ActiveStates":[ { "State":"CivilUnrest" }, { "State":"Election" } ] } ], "SystemFaction":{ "Name":"Flotta Stellare", "FactionState":"Election" }, "Conflicts":[ { "WarType":"election", "Status":"active", "Faction1":{ "Name":"LHS 1857 Jet Galactic Systems", "Stake":"Barnett Dredging Complex", "WonDays":1 }, "Faction2":{ "Name":"Susanoo Jet Fortune Corporation", "Stake":"Ware Dredging Reserve", "WonDays":0 } }, { "WarType":"election", "Status":"active", "Faction1":{ "Name":"Social LHS 6103 Confederation", "Stake":"Mahto Metallurgic Territory", "WonDays":1 }, "Faction2":{ "Name":"Flotta Stellare", "Stake":"Wyeth Platform", "WonDays":0 } } ] }
{ "timestamp":"2022-02-24T17:56:07Z", "event":"MissionAccepted", "Faction":"Social LHS 6103 Confederation", "Name":"Mission_Hack_BLOPS_Elections", "LocalisedName":"Poll Data Retrieval", "DestinationSystem":"LF 8 +16 41", "Target":"$MissionUtil_Settlement_Target_PostBox;", "Target_Localised":"Hub Access Terminal", "Expiry":"2022-02-26T12:08:34Z", "Wing":false, "Influence":"+", "Reputation":"+", "Reward":508025, "MissionID":849749964 }
{ "timestamp":"2022-02-24T19:11:13Z", "event":"MissionRedirected", "MissionID":849749964, "Name":"Mission_Hack_BLOPS_Elections", "NewDestinationStation":"Wyeth Platform", "NewDestinationSystem":"Dewikum", "OldDestinationStation":"Stephenson Landing +", "OldDestinationSystem":"LF 8 +16 41" }
{ "timestamp":"2022-02-24T19:42:38Z", "event":"MissionCompleted", "Faction":"Social LHS 6103 Confederation", "Name":"Mission_Hack_BLOPS_Elections_name", "MissionID":849749964, "NewDestinationSystem":"Dewikum", "DestinationSystem":"LF 8 +16 41", "Target":"$MissionUtil_Settlement_Target_PostBox;", "Target_Localised":"Hub Access Terminal", "Reward":14266, "FactionEffects":[ { "Faction":"", "Effects":[ { "Effect":"$MISSIONUTIL_Interaction_Summary_EP_down;", "Effect_Localised":"The economic status of $#MinorFaction; has declined in the $#System; system.", "Trend":"DownBad" } ], "Influence":[ { "SystemAddress":251012319587, "Trend":"DownBad", "Influence":"+" } ], "ReputationTrend":"DownBad", "Reputation":"+" }, { "Faction":"Social LHS 6103 Confederation", "Effects":[ ], "Influence":[ ], "ReputationTrend":"UpGood", "Reputation":"+" } ] }

File diff suppressed because one or more lines are too long

View File

@ -1,47 +0,0 @@
This happens when target and source faction are the same faction
{ "timestamp":"2022-01-26T23:14:26Z", "event":"MissionAccepted", "Faction":"Peraesii Empire Consulate", "Name":"Mission_Courier_Famine", "LocalisedName":"Famine Data Transportation", "TargetFaction":"Peraesii Empire Consulate", "DestinationSystem":"Madngela", "DestinationStation":"Napier Dock", "Expiry":"2022-01-27T23:10:47Z", "Wing":false, "Influence":"++", "Reputation":"+", "Reward":94062, "MissionID":840783745 }
{ "timestamp":"2022-01-26T23:42:37Z", "event":"MissionCompleted", "Faction":"Peraesii Empire Consulate", "Name":"Mission_Courier_Famine_name", "MissionID":840783745, "TargetFaction":"Peraesii Empire Consulate", "DestinationSystem":"Madngela", "DestinationStation":"Napier Dock", "Reward":11002, "FactionEffects":[ { "Faction":"Peraesii Empire Consulate", "Effects":[ { "Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;", "Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.", "Trend":"UpGood" }, { "Effect":"$MISSIONUTIL_Interaction_Summary_EP_up;", "Effect_Localised":"The economic status of $#MinorFaction; has improved in the $#System; system.", "Trend":"UpGood" } ], "Influence":[ { "SystemAddress":7269097350585, "Trend":"UpGood", "Influence":"+++" }, { "SystemAddress":2557887746778, "Trend":"UpGood", "Influence":"+++" } ], "ReputationTrend":"UpGood", "Reputation":"++" } ] }
{
"timestamp": "2022-01-26T23:42:37Z",
"event": "MissionCompleted",
"Faction": "Peraesii Empire Consulate",
"Name": "Mission_Courier_Famine_name",
"MissionID": 840783745,
"TargetFaction": "Peraesii Empire Consulate",
"DestinationSystem": "Madngela",
"DestinationStation": "Napier Dock",
"Reward": 11002,
"FactionEffects": [
{
"Faction": "Peraesii Empire Consulate",
"Effects": [
{
"Effect": "$MISSIONUTIL_Interaction_Summary_EP_up;",
"Effect_Localised": "The economic status of $#MinorFaction; has improved in the $#System; system.",
"Trend": "UpGood"
},
{
"Effect": "$MISSIONUTIL_Interaction_Summary_EP_up;",
"Effect_Localised": "The economic status of $#MinorFaction; has improved in the $#System; system.",
"Trend": "UpGood"
}
],
"Influence": [
{
"SystemAddress": 7269097350585,
"Trend": "UpGood",
"Influence": "+++"
},
{
"SystemAddress": 2557887746778,
"Trend": "UpGood",
"Influence": "+++"
}
],
"ReputationTrend": "UpGood",
"Reputation": "++"
}
]
}

View File

@ -1,25 +0,0 @@
{ "timestamp":"2022-02-06T16:36:53Z", "event":"Fileheader", "part":1, "language":"English/UK", "Odyssey":true, "gameversion":"4.0.0.1102", "build":"r280672/r0 " }
{ "timestamp":"2022-02-06T18:10:13Z", "event":"Music", "MusicTrack":"NoTrack" }
{ "timestamp":"2022-02-06T18:10:26Z", "event":"ReceiveText", "From":"", "Message":"$COMMS_entered:#name=Akualanu;", "Message_Localised":"Entered Channel: Akualanu", "Channel":"npc" }
{ "timestamp":"2022-02-06T18:10:26Z", "event":"FSDJump", "Taxi":false, "Multicrew":false, "StarSystem":"Akualanu", "SystemAddress":5069805856169, "StarPos":[63.78125,-128.50000,3.00000], "SystemAllegiance":"Empire", "SystemEconomy":"$economy_Tourism;", "SystemEconomy_Localised":"Tourism", "SystemSecondEconomy":"$economy_HighTech;", "SystemSecondEconomy_Localised":"High Tech", "SystemGovernment":"$government_Patronage;", "SystemGovernment_Localised":"Patronage", "SystemSecurity":"$SYSTEM_SECURITY_low;", "SystemSecurity_Localised":"Low Security", "Population":787019, "Body":"Akualanu A", "BodyID":1, "BodyType":"Star", "Powers":[ "A. Lavigny-Duval" ], "PowerplayState":"Exploited", "JumpDist":40.001, "FuelUsed":4.849240, "FuelLevel":22.573641, "Factions":[ { "Name":"Akualanu United & Co", "FactionState":"War", "Government":"Corporate", "Influence":0.158000, "Allegiance":"Empire", "Happiness":"$Faction_HappinessBand3;", "Happiness_Localised":"Discontented", "MyReputation":100.000000, "RecoveringStates":[ { "State":"InfrastructureFailure", "Trend":0 } ], "ActiveStates":[ { "State":"Lockdown" }, { "State":"Famine" }, { "State":"War" } ] }, { "Name":"Alacagui Holdings", "FactionState":"War", "Government":"Corporate", "Influence":0.086000, "Allegiance":"Empire", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":55.000000, "RecoveringStates":[ { "State":"PirateAttack", "Trend":0 } ], "ActiveStates":[ { "State":"War" } ] }, { "Name":"Left Party of Akualanu", "FactionState":"War", "Government":"Communism", "Influence":0.086000, "Allegiance":"Independent", "Happiness":"$Faction_HappinessBand3;", "Happiness_Localised":"Discontented", "MyReputation":95.899399, "RecoveringStates":[ { "State":"InfrastructureFailure", "Trend":0 } ], "ActiveStates":[ { "State":"Lockdown" }, { "State":"Famine" }, { "State":"War" } ] }, { "Name":"Cartel of Akualanu", "FactionState":"Famine", "Government":"Anarchy", "Influence":0.028000, "Allegiance":"Independent", "Happiness":"$Faction_HappinessBand2;", "Happiness_Localised":"Happy", "MyReputation":29.040001, "RecoveringStates":[ { "State":"InfrastructureFailure", "Trend":0 } ], "ActiveStates":[ { "State":"Famine" } ] }, { "Name":"Revolutionary Akualanu Liberals", "FactionState":"Bust", "Government":"Democracy", "Influence":0.085000, "Allegiance":"Independent", "Happiness":"$Faction_HappinessBand3;", "Happiness_Localised":"Discontented", "MyReputation":43.093700, "PendingStates":[ { "State":"Lockdown", "Trend":0 } ], "ActiveStates":[ { "State":"InfrastructureFailure" }, { "State":"Bust" } ] }, { "Name":"Conservatives of Cockaigne", "FactionState":"War", "Government":"Dictatorship", "Influence":0.138000, "Allegiance":"Empire", "Happiness":"$Faction_HappinessBand3;", "Happiness_Localised":"Discontented", "MyReputation":70.000000, "ActiveStates":[ { "State":"CivilUnrest" }, { "State":"InfrastructureFailure" }, { "State":"War" } ] }, { "Name":"Nova Paresa", "FactionState":"Investment", "Government":"Patronage", "Influence":0.419000, "Allegiance":"Empire", "Happiness":"$Faction_HappinessBand1;", "Happiness_Localised":"Elated", "SquadronFaction":true, "MyReputation":100.000000, "ActiveStates":[ { "State":"Investment" }, { "State":"CivilLiberty" } ] } ], "SystemFaction":{ "Name":"Nova Paresa", "FactionState":"Investment" }, "Conflicts":[ { "WarType":"war", "Status":"active", "Faction1":{ "Name":"Akualanu United & Co", "Stake":"Konig Institution", "WonDays":0 }, "Faction2":{ "Name":"Conservatives of Cockaigne", "Stake":"", "WonDays":1 } }, { "WarType":"war", "Status":"active", "Faction1":{ "Name":"Alacagui Holdings", "Stake":"Ware Cultivation Facility", "WonDays":2 }, "Faction2":{ "Name":"Left Party of Akualanu", "Stake":"", "WonDays":2 } } ] }
{ "timestamp":"2022-02-06T18:10:26Z", "event":"Music", "MusicTrack":"DestinationFromHyperspace" }
{ "timestamp":"2022-02-06T18:10:31Z", "event":"Music", "MusicTrack":"Supercruise" }
{ "timestamp":"2022-02-06T18:12:18Z", "event":"FSSSignalDiscovered", "SystemAddress":5069805856169, "SignalName":"P.T.N. RACKMOBILE H0H-W6T", "IsStation":true }
{ "timestamp":"2022-02-06T18:12:18Z", "event":"FSSSignalDiscovered", "SystemAddress":5069805856169, "SignalName":"BARON VON ZOOMSKI K8L-04G", "IsStation":true }
{ "timestamp":"2022-02-06T18:12:18Z", "event":"FSSSignalDiscovered", "SystemAddress":5069805856169, "SignalName":"Hughes Vista", "IsStation":true }
{ "timestamp":"2022-02-06T18:12:18Z", "event":"FSSSignalDiscovered", "SystemAddress":5069805856169, "SignalName":"GOTHAM CITY J8T-1VM", "IsStation":true }
{ "timestamp":"2022-02-06T18:12:18Z", "event":"FSSSignalDiscovered", "SystemAddress":5069805856169, "SignalName":"NAUVOO JNB-BHF", "IsStation":true }
{ "timestamp":"2022-02-06T18:12:18Z", "event":"SupercruiseExit", "Taxi":false, "Multicrew":false, "StarSystem":"Akualanu", "SystemAddress":5069805856169, "Body":"Hughes Vista", "BodyID":29, "BodyType":"Station" }
{ "timestamp":"2022-02-06T18:12:18Z", "event":"Music", "MusicTrack":"DestinationFromSupercruise" }
{ "timestamp":"2022-02-06T18:12:23Z", "event":"Music", "MusicTrack":"NoTrack" }
{ "timestamp":"2022-02-06T18:12:23Z", "event":"ReceiveText", "From":"Hughes Vista", "Message":"$STATION_NoFireZone_entered;", "Message_Localised":"No fire zone entered.", "Channel":"npc" }
{ "timestamp":"2022-02-06T18:12:23Z", "event":"DockingRequested", "MarketID":3222969088, "StationName":"Hughes Vista", "StationType":"Coriolis", "LandingPads":{ "Small":13, "Medium":16, "Large":8 } }
{ "timestamp":"2022-02-06T18:12:24Z", "event":"ReceiveText", "From":"Hughes Vista", "Message":"$DockingChatter_Allied;", "Message_Localised":"An ally like you is always welcome here.", "Channel":"npc" }
{ "timestamp":"2022-02-06T18:12:24Z", "event":"ReceiveText", "From":"Hughes Vista", "Message":"$STATION_docking_granted;", "Message_Localised":"Docking request granted.", "Channel":"npc" }
{ "timestamp":"2022-02-06T18:12:24Z", "event":"DockingGranted", "LandingPad":37, "MarketID":3222969088, "StationName":"Hughes Vista", "StationType":"Coriolis" }
{ "timestamp":"2022-02-06T18:12:26Z", "event":"Music", "MusicTrack":"DockingComputer" }
{ "timestamp":"2022-02-06T18:13:30Z", "event":"Docked", "StationName":"Hughes Vista", "StationType":"Coriolis", "Taxi":false, "Multicrew":false, "StarSystem":"Akualanu", "SystemAddress":5069805856169, "MarketID":3222969088, "StationFaction":{ "Name":"Nova Paresa", "FactionState":"Investment" }, "StationGovernment":"$government_Patronage;", "StationGovernment_Localised":"Patronage", "StationAllegiance":"Empire", "StationServices":[ "dock", "autodock", "commodities", "contacts", "exploration", "missions", "outfitting", "crewlounge", "rearm", "refuel", "repair", "shipyard", "tuning", "engineer", "missionsgenerated", "facilitator", "flightcontroller", "stationoperations", "powerplay", "searchrescue", "stationMenu", "shop", "livery", "socialspace", "bartender", "vistagenomics", "pioneersupplies", "apexinterstellar", "frontlinesolutions" ], "StationEconomy":"$economy_Tourism;", "StationEconomy_Localised":"Tourism", "StationEconomies":[ { "Name":"$economy_Tourism;", "Name_Localised":"Tourism", "Proportion":1.000000 } ], "DistFromStarLS":78.917615, "LandingPads":{ "Small":13, "Medium":16, "Large":8 } }
{ "timestamp":"2022-02-06T18:16:08Z", "event":"Disembark", "SRV":false, "Taxi":false, "Multicrew":false, "ID":65, "StarSystem":"Akualanu", "SystemAddress":5069805856169, "Body":"Hughes Vista", "BodyID":29, "OnStation":true, "OnPlanet":false, "StationName":"Hughes Vista", "StationType":"Coriolis", "MarketID":3222969088 }
{ "timestamp":"2022-02-06T18:16:12Z", "event":"ReceiveText", "From":"Hughes Vista", "Message":"$STATION_NoFireZone_entered;", "Message_Localised":"No fire zone entered.", "Channel":"npc" }
{ "timestamp":"2022-02-06T18:17:44Z", "event":"Promotion", "Exobiologist":1 }
{ "timestamp":"2022-02-06T18:17:44Z", "event":"SellOrganicData", "MarketID":3222969088, "BioData":[ { "Genus":"$Codex_Ent_Stratum_Genus_Name;", "Genus_Localised":"Stratum", "Species":"$Codex_Ent_Stratum_07_Name;", "Species_Localised":"Stratum Tectonicas", "Value":806300, "Bonus":0 }, { "Genus":"$Codex_Ent_Aleoids_Genus_Name;", "Genus_Localised":"Aleoida", "Species":"$Codex_Ent_Aleoids_05_Name;", "Species_Localised":"Aleoida Gravis", "Value":596500, "Bonus":0 } ] }

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,19 @@
using System.Collections;
using AutoCompleteTextBox.Editors;
using EliteBGS.EDDB;
namespace EliteBGS.UI {
public class StationSuggestionProvider : ISuggestionProvider {
private int system_id = 0;
private Stations stations = null;
public StationSuggestionProvider(Stations stations, int system_id) {
this.system_id = system_id;
this.stations = stations;
}
public IEnumerable GetSuggestions(string filter) {
return stations.StationNamesBySystemId(system_id, filter);
}
}
}

View File

@ -0,0 +1,23 @@
using System;
using System.Collections;
using AutoCompleteTextBox.Editors;
using EliteBGS.EDDB;
namespace EliteBGS.UI {
public class SystemSuggestionProvider : ISuggestionProvider {
private PopulatedSystems systems = null;
public SystemSuggestionProvider(PopulatedSystems systems) {
this.systems = systems;
}
public PopulatedSystems Data {
get => systems;
set => systems = value;
}
public IEnumerable GetSuggestions(string filter) {
return systems.SystemNamesByFilter(filter);
}
}
}

View File

@ -4,15 +4,15 @@ namespace EliteBGS.Util {
public class AppConfig : INotifyPropertyChanged {
private static readonly string default_journal_location = "%UserProfile%\\Saved Games\\Frontier Developments\\Elite Dangerous";
private string journal_location = default_journal_location;
private string lastdiscordlog;
private bool useeddb = false;
public string DefaultJournalLocation => default_journal_location;
public string LastUsedDiscordTemplate {
get => lastdiscordlog;
public bool UseEDDB {
get => useeddb;
set {
lastdiscordlog = value;
FirePropertyChanged("LastUsedDiscordTemplate");
useeddb = value;
FirePropertyChanged("UseEDDB");
}
}

View File

@ -45,13 +45,9 @@ namespace EliteBGS.Util {
public void SaveGlobal() {
var serializer = JsonSerializer.CreateDefault();
using (FileStream filestream = File.OpenWrite(config_file)) {
filestream.SetLength(0);
filestream.Flush();
using (StreamWriter file = new StreamWriter(filestream, Encoding.UTF8)) {
var stream = new JsonTextWriter(file);
serializer.Serialize(stream, global_config);
}
using (var file = new StreamWriter(File.OpenWrite(config_file), Encoding.UTF8)) {
var stream = new JsonTextWriter(file);
serializer.Serialize(stream, global_config);
}
}
@ -70,20 +66,13 @@ namespace EliteBGS.Util {
public void SaveObjectives(Report report) {
var serializer = JsonSerializer.CreateDefault();
using (FileStream filestream = File.OpenWrite(objectives_file)) {
filestream.SetLength(0);
filestream.Flush();
using (StreamWriter file = new StreamWriter(filestream, Encoding.UTF8)) {
JsonTextWriter stream = new JsonTextWriter(file);
serializer.Serialize(stream, report.Objectives);
}
using (var file = new StreamWriter(File.OpenWrite(objectives_file), Encoding.UTF8)) {
var stream = new JsonTextWriter(file);
serializer.Serialize(stream, report.Objectives);
}
}
public void LoadObjectives(Report report) {
if (!File.Exists(objectives_file)) {
return;
}
var serializer = JsonSerializer.CreateDefault();
using (var file = new StreamReader(File.OpenRead(objectives_file), Encoding.UTF8)) {
var stream = new JsonTextReader(file);

View File

@ -1,143 +0,0 @@
# EliteBGS changelog
## 0.1.7 on 09.11.2022
* Fixed a bug related to total amount of credits gained by turning in organic data.
* Changed UI to have report, and objectives on the same page.
* Report now automatically updates when objectives and entries are selected, deselected or removed.
* Removed manual adding of objectives.
## 0.1.6 on 24.09.2022
* Fixed datetime format.
## 0.1.5 on 24.08.2022
* Added some mission names.
* Updated README regarding Update 13.
## 0.1.4 on 24.07.2022
* Fixed hour display with entires (now in 24 hour format).
* Allow adding combat zones regardless of whether an objective is selected, or an
entry. If an entry is selected simply use its objective instead.
* Add timestamp to combat zone wins.
## 0.1.3 on 07.06.2022
* Fixed a bug where entries in non-rated journal files were not properly picked up.
* Remove EDDB database usage. This feature could block the tool if it failed to convert
the JSON to something more usable, downloads took forever, and the tool itself could
run out of memory loading and converting JSON from EDDB. With automatic objective
detection this tool is no longer really needed.
## 0.1.2 on 06.04.2022
* If you remove an item the tree items stay collapsed/expanded. (thanks CMDR NeedX).
* Fixed a bug where the program would crash if you opened the manual log entry
window twice (thanks CMDR NeedX).
* Fixed a bug regarding organic data not being properly recognised in logs.
* Date and time when the entry has been added to the overview.
* The actual entry is now semi-bold to distinguish it from the date time.
* You can now select which item should appear in the final log, and which shouldn't.
## 0.1.1 on 15.03.2022
* Update tool to work with the new journal filenames introduced in Update 11.
## 0.1.0 on 27.02.2022
* Final release without beta in front of it.
* Several new mission names for the XML.
* A few small fixes towards the Discord log formatting.
## 0.1.0-beta14 on 26.02.2022
* Missions that give out no influence whatsoever apparently exist. Here the strategy
is to add them to the list anyway, and warn the user that this might happen because
of conflicts.
## 0.1.0-beta13 on 24.02.2022
* Missions that give no influence are now properly shown again. A warning is also
displayed on why there is no influence there (spoiler alert: conflicts).
* Missions that give influence to an unknown faction are still ignored, but there is
now a warning about it.
* Added a few new mission names to the XML.
## 0.1.0-beta12 on 18.02.2022
* Failed missions now properly show up where they were accepted, instead of where they
were failed.
## 0.1.0-beta11 on 16.02.2022
* Fixed a bug in which mission influence was assigned to the wrong station, system
and faction. But now the log entry for accepting a mission must be within the given
range.
* Stop complaining about missing objective files.
* Add a few more mission names to the XML.
## 0.1.0-beta10 on 12.02.2022
* Added search and rescue.
* For mourders try to determine the faction of the victim. The CommitCrime event
lists the faction that issues the bounty, and not the faction of the victim.
* Vouchers are now properly treated. Each individual voucher is assigned a separate
objective, if the target faction for said voucher is present in the system.
## 0.1.0-beta9 on 07.02.2022
* Added Vista Genomics to the reports.
## 0.1.0-beta8 on 29.01.2022
* Fixed a bug where influence was wrongly counted for missions were both the
main beneficiary, and the secondary beneficiary are the same faction.
* Tightened selection of which entry goes to which objective.
## 0.1.0-beta7 on 27.01.2022
* Added murders, since they give negative INF for the target faction.
* Cargo is now collated for the NONA discord template.
* Empty secondary influences no longer show up.
* Market buying is not part of the BGS since Update 10.
* Remove decimal point unless absolutely necessary.
* Fixed log file template regarding failed missions.
* Support missions were the source and target are both the same faction, but in
different systems. Here both systems should be listed in the BGS list.
## 0.1.0-beta6 on 22.01.2022
* Month names should now always be in English in the NONA log format.
* Add influence support (by secondary mission objectives) to the log format.
* Remember last used discord log template.
* Add support for SellExplorationData journal entry.
* Improve credit formatting.
## 0.1.0-beta5 on 21.01.2022
* Missions that affect more than one faction now properly show that in the list.
* Cargo sold now shows a better name for the commodity (if available in journal).
* Added more mission names.
* Mission names are now part of an XML file.
* Added licence file with GPLv3.
## 0.1.0-beta4 on 13.01.2022
* Fixed a bug in date/time selection. It no longer uses the start date as start and end.
## 0.1.0-beta3 on 12.01.2022
* Collated failed missions into a single entry with a counter
* Added failed missions to Nova Navy log template
* Detect trade profit/loss
* Allow adjusting trade profit/loss with a new window
## 0.1.0-beta2 on 09.01.2022
* Adding combat zones has been repaired
## 0.1.0-beta1 on 07.01.2022
* Initial release

View File

@ -1,232 +0,0 @@
# EliteBGS
This tool is meant to help people contributing to the BGS effort to create BGS reports.
The tool allows you to configure BGS objectives, and will then parse your player journal
for tasks you completed relating to that BGS objective. Once the JSON player journal has
been parsed, you may then generate a BGS report you can copy/paste into Discord.
Source code is available [here](https://git.aror.org/florian/elitebgs).
Binary downloads can be found here: [https://bgs.n0la.org/](https://bgs.n0la.org/).
## How To
Press "Parse Journal", which will check your Elite Dangerous player journal for completed
missions. Currently the tool recognises the following completed tasks:
* Buying of cargo from stations (new in Update 10)
* Completed missions
* Failed missions
* Murders
* Search and Rescue contributions
* Selling cartography data
* Selling of cargo to stations
* Selling of micro resources (Odyssey only)
* Selling of organic data (Odyssey only)
* Vouchers, including bounty vouchers, combat bonds, and settlement vouchers (aka intel packages)
Vouchers help the faction that is listed for them. If said faction is not present in the
current system, then there is no BGS impact. So the tool looks for all system factions, and
makes sure that your vouchers actually have a BGS impact, otherwise it won't list them.
Selling cargo attempts to discern the profit and/or loss, which is helpful to gauge BGS
impact. But the player journal does not tell the amount of profit in the sell message.
So the tool looks for a buy a message related to the same commodity, and calculates loss
and/or profit from that. If the buy of the commodity is not within the time and date range,
or some other shenanigans happen that the tool does not yet support, the profit/loss could
be wrong. You can use the "Adjust Trade Profit" button to manually adjust the trade profit,
or you could simply edit the discord log manually.
Please note that cartography data, and micro resources only help the controlling faction
of a station. The tool is clever enough to exclude these if the station you turn them in at, is not
controlled by the faction you specified in the objective.
Some missions may show up having zero influence for the given faction. This happens if you do
missions for a faction which is currently in an election state. You do not gain influence for
the faction so the influence reads as zero. But you contribute towards the election, so the
missions are selected anyway.
There is no entry in the journal if you win a combat zone. So you have to add those manually. Select
an objective for which you wish to log a combat zone. The faction in the objective, must be the
faction you fought for in the combat zone. Then click "Add Combat Zone Win". Select type,
either "On Foot" for Odyssey, or "Ship" for regular ones. Then select the grade (low, medium or
high), and how many you won. Then press "Accept". Select "Cancel" to abort. You can of course remove
the combat zone entries by selecting them, and pressing "DEL".
If you deliberately fail a mission (to log negative INF towards a faction), the tool cannot detect
it, if the day you accepted the mission is outside of the given date range. It needs the journal
entry where you accept the mission to connect the mission to a faction, system and station. The tool
will warn you if this happens, with a message in the error log in the fourth tab.
When committing murder, the journal entry contains the faction information of the faction that gave
you the bounty. And not the faction of the victim. The tool will look for an event in which you
scanned your victim, and gleem the victim's faction from that. If you did not scan your victim, then
sadly the tool cannot connect the victim's faction to the victim.
![Main Window with entries](main-page.png)
The window will then list all the journal entries it has found, and group them by objectives. You
can select which objectives you wish to report, by using the checkmarks.
You can exclude a specific entry within an objective by deselecting the checkbox next to them.
This way said entry will not appear in the final log. You can also remove individual entries
(if you think the tool detected something you thought was wrong), by selecting the entry,
and pressing the "DEL" key.
Once you are satisfied with the result, you can copy and paste the final report to the discord
server of your choice. Before you copy/paste it into the discord of your squadron, you should
check the log. You can of course also edit it, either if something is wrong because the tool
missed something, or you just wish to add a note the report itself.
If you wish to regenerate the discord log, simply click "Generate Log".
## Known Issues and Bugs
### Settlement Vouchers
Settlement vouchers (aka Intel Packages) help every faction aligned with the given superpower.
So if you turn in an Imperial intel package on an imperial station, all factions aligned with
the Empire will gain a bit of INF boost. The tool currently cannot handle that. All intel packages
are displayed instead.
### Bugged bounty vouchers
Sometimes bounty vouchers are not properly recognised. This is a bug in the player journal, where
the faction information is not properly written out in the journal:
```
{
"timestamp":"2021-10-07T14:57:50Z", "event":"RedeemVoucher",
"Type":"bounty", "Amount":20750,
"Factions":[ { "Faction":"", "Amount":500 }, { "Faction":"", "Amount":20250 }]
}
```
Since the tool does not know for which faction these bounties were redeemed for, it cannot assign
it to an objective.
### Combat Zones
The player journal currently does not make an entry when you win or lose a combat zone. This is a
an ommission from FDev:
* [https://issues.frontierstore.net/issue-detail/43509](https://issues.frontierstore.net/issue-detail/43509)
Please upvote the issue to get it fixed. Until then, you have to add combat zone wins manually.
### On-Foot NPC givers
Up until update 13 missions accepted from NPCs in Odyssey concourses do not get a player journal entry.
This has been fixed in update 13. Any on foot missions from NPCs accepted before update 13, do not have
an entry in the player journal.
### Failed vs. Abandoned Missions
The tool also currently cannot differentiate between missions you have abandoned in the transaction
tab before it was completed, and those that you have failed - either delibaretly or by time-out. So
it will find and add them all, and you simply can remove those that you have abandoned manually.
### Influence given to empty/non-existent faction
Sometimes the log will state that it gave positive or negative influence to a faction, but the
faction name is empty:
```
"FactionEffects": [
{
"Faction": "",
"Effects": [
{
"Effect": "$MISSIONUTIL_Interaction_Summary_EP_down;",
"Effect_Localised": "The economic status of $#MinorFaction; has declined in the $#System; system.",
"Trend": "DownBad"
}
],
"Influence": [
{
"SystemAddress": 251012319587,
"Trend": "DownBad",
"Influence": "+"
}
],
"ReputationTrend": "DownBad",
"Reputation": "+"
}
]
```
This happens for example if you do a scan/heist mission from a surface POI, but no one owns said
surface POI. Randomly generated surface POIs sometimes have no owner, and said non-existant owner
then gets the negative influence.
### Mission Completed but no one gains influence
Sometimes missions are completed but no one gains any influence:
```
{
"timestamp": "2022-02-25T21:30:45Z",
"event": "MissionCompleted",
"Faction": "Social LHS 6103 Confederation",
"Name": "Mission_Courier_Elections_name",
"MissionID": 850025233,
"TargetFaction": "Delphin Blue Federal PLC",
"DestinationSystem": "Delphin",
"DestinationStation": "Aristotle Orbital",
"Reward": 122300,
"FactionEffects": [
{
"Faction": "Social LHS 6103 Confederation",
"Effects": [
{
"Effect": "$MISSIONUTIL_Interaction_Summary_EP_up;",
"Effect_Localised": "The economic status of $#MinorFaction; has improved in the $#System; system.",
"Trend": "UpGood"
}
],
"Influence": [],
"ReputationTrend": "UpGood",
"Reputation": "+"
},
{
"Faction": "Delphin Blue Federal PLC",
"Effects": [],
"Influence": [],
"ReputationTrend": "UpGood",
"Reputation": "+"
}
]
}
```
Here the is known that at the time of completion the Confederation was in an Election and could not
have gained any influence regardless. It is unclear whether this also holds true for Delphin Blue
Federal PLC. So to be save, the tool assumes that if no influence was gained for the source faction,
it still has to make an entry for the source system. The same applies for the target faction: if no
influence is gained for the target faction, still add an entry for the target faction in the missions
target system.
Since it is not possible to differentiate between missions that give no influence no matter what, and
no influence gained because of an election, we have to assume it *gave* influence and let the user
decide whether it was because of an election, or not.
Future tool versions should probably take faction states into account in such matters.
## Nothing's Perfect
The tool itself is still a work in progress, and it might miss something. If you think the tool
missed a task you have done, please contact `Hekateh` on the Elite Dangerous community discord.
It would be helpful if you included the JSON player journal. This player journal can be found here:
```
%userprofile%\saved Games\Frontier Developments\Elite Dangerous\
```
## Build Dependencies
Handling of Elite Dangerous player journals have been moved to a separate project called `EDJournal`.
Its source can be found [here](https://git.aror.org/florian/edjournal). This project simply depends
on the binary DLL that `EDJournal` builds.
The project also requires `Ookii.Dialogs.WPF` controls, which contains the auto complete text box.
And of course, `Newtonsoft.Json` as the JSON parser.

View File

@ -1,94 +0,0 @@
## FAQ
Most frequently asked questions:
### Windows complains that it does not wish to run the application, what gives?
The tool contains no viruses, but it is not seen as "trustworthy". You can however
right-click EliteBGS.exe and "Unblock" the application.
### Does this work for console players?
Sorry, no. Console players don't have a player journal per se, and the tool does
not support Frontier Commander API.
### Why won't the tool start anymore?
Open the file explorer, and go to the path `%AppData%`. Once there, delete the
folder called `EliteBGS` to delete the tool's configuration and cache. If it
still doesn't work, contact me directly.
### I pressed 'Download Data' and it is hanging now and won't respond. Help?
Go and delete the `EliteBGS` folder as described above to undo that action.
Also please upgrade to version 0.1.3, where this feature was removed for
exactly this reason.
### Why is it unable to find my player journal?
Usually your player journal lives in the Saved Games folder in your home
directory. If, for some reason, this doesn't match up, you can point the
tool towards your player journal in the third tab.
### Why do some of the objective not show up in the final discord log?
Only objectives with the little checkbox enabled show up there. Those
that the tool generates by itself are not enabled per default.
### Can I delete an objective or an entry?
Click on an objective or entry and press the Delete key.
### I deleted something I didn't want to. What now?
Just press "Parse Journal" again, and the tool will generate all
the entries again.
### What are micro resources?
Odyssey cargo that you sell at the bartender. Just like normal cargo,
they aid the controlling faction of the station where you sold them.
### Why are missions accepted in a concourse or in a settlement from an NPC missing?
Because up until Update 13, they did not show up in player journal. This should
now be fixed.
### Some mission names are weird. What gives?
That's because the tool uses the game generated mission name, if it doesn't
have a clean and nice mission name on file for the certain mission type. The
fourth tab "Event Log" should have an entry about it, so please post those
names into this channel.
### Some missions say they have 0 influence?
That happens for missions that aid an Election. The faction in question does
not gain influence during an election, as influence is locked during conflicts.
But since you are contributing towards the election win of that faction,
the tool picks them anyway.
### Why are some failed missions not showing up?
The time span you specify must include the day where you accepted the mission,
as well as the day where you failed the mission. Otherwise the tool cannot handle
that failed mission.
### The tool complains about missing factions for an NPC I murdered.
The player journal only tells the faction that issued the bounty upon murder, and
not the faction of the NPC killed. The tool has to fetch that from you scanning the
hip. If you didn't fully scan the ship before murdering it, the tool won't know
the faction of the NPC.
### Why does cartography data, and sold cargo show up for the wrong faction, but for the right station/system?
Because they only aid the controlling faction of the station.
### Why are some of my bounty vouchers missing?
Sometimes, due to a bug, the bounty vouchers in the journal have no faction information
associated with them. Here the tool simply cannot associate the vouchers to a faction
or station. If you are sure they aided in BGS, simply add them by editing the Discord
report.

View File

@ -1,69 +0,0 @@
# EliteBGS
EliteBGS is a Windows desktop application, that helps you sum up your BGS related actions.
It then creates a report from your actions, so you can post it your Squadron's discord.
## Origins
The tool originated from the [Nova Navy](https://inara.cz/elite/squadron/5058/), which required
BGS contributions to be posted to the Navy's discord, in a very specific format. Writing those
logs manually was a lot of work, so CMDR Hekateh created a tool to automate this process.
## Overview
EliteBGS reads through your player journal for BGS relevant activity, and sorts them into
"categories". These are based upon the star system, station and the faction for which the
action was taken. So for example if you contributed bounty vouchers for Nova Paresa in
Paresa, but also did some missions for Nova Paresa in Adachit, those actions will be
split into two categories.
You can then select which of the two actions goes into the final log.
### What it detects:
* Buying of cargo from stations (BGS relevant since Update 10)
* Completed missions
* Failed missions
* Murders
* Search and Rescue contributions
* Selling cartography data
* Selling of cargo to stations
* Selling of micro resources (Odyssey only)
* Selling of organic data (Odyssey only)
* Vouchers, including bounty vouchers, combat bonds, and settlement vouchers (aka intel packages)
### What it does not detect:
* Combat zone wins, and its objectives
* Megaship scenarios
* On foot missions accepted by NPCs in stations (pre Update 13)
* Murders of NPCs you haven't fully scanned
## Open Source
The tool itself is Open Source, licenced unter the GPLv3.
The source code can be found here:
* [https://git.aror.org/florian/EliteBGS](https://git.aror.org/florian/EliteBGS)
It requires a separate library, called EDJournal, which is also open source:
* [https://git.aror.org/florian/edjournal](https://git.aror.org/florian/edjournal)
## Downloads
The latest version of EliteBGS **0.1.7** is available for download here:
* [https://bgs.n0la.org/elitebgs-0.1.7.zip](https://bgs.n0la.org/elitebgs-0.1.7.zip)
Older versions are available in the archive:
* [https://bgs.n0la.org/archive/](https://bgs.n0la.org/archive/)
## Contact
I can be reached over discord: `nola#2457`
Or by joining either the [Salus Invicta](https://discord.com/invite/FeEtjqBRkg) or the
[Nova Navy](https://discord.gg/WEJeFQw) discord.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

BIN
main-entries.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
main-objectives.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

BIN
main-report.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

View File

@ -1,14 +0,0 @@
site_name: EliteBGS
markdown_extensions:
- pymdownx.snippets:
check_paths: true
theme:
name: lumen
nav:
- Overview: 'index.md'
- "Detailed Description": 'description.md'
- FAQ: 'faq.md'
- Changelog: 'CHANGELOG.md'

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AutoCompleteTextBox" version="1.1.1" targetFramework="net472" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net472" />
<package id="Ookii.Dialogs.Wpf" version="5.0.1" targetFramework="net472" />
<package id="Ookii.Dialogs.Wpf" version="3.1.0" targetFramework="net472" />
</packages>