Compare commits

..

No commits in common. "41a7782a7c6ffc70ee5c9d0953a319c8e06d1235" and "b74b35d8c4602013b67757bbbf8ac6f86be77f67" have entirely different histories.

4 changed files with 13 additions and 44 deletions

View File

@ -4,13 +4,11 @@ namespace EDJournal {
public class DockedEntry : Entry { public class DockedEntry : Entry {
public string StationName { get; set; } public string StationName { get; set; }
public string StarSystem { get; set; } public string StarSystem { get; set; }
public ulong SystemAddress { get; set; }
public string StationFaction { get; set; } public string StationFaction { get; set; }
protected override void Initialise() { protected override void Initialise() {
StationName = JSON.Value<string>("StationName") ?? ""; StationName = JSON.Value<string>("StationName") ?? "";
StarSystem = JSON.Value<string>("StarSystem") ?? ""; StarSystem = JSON.Value<string>("StarSystem") ?? "";
SystemAddress = JSON.Value<ulong?>("SystemAddress") ?? 0;
JObject faction = JSON.Value<JObject>("StationFaction"); JObject faction = JSON.Value<JObject>("StationFaction");
if (faction != null) { if (faction != null) {
StationFaction = faction.Value<string>("Name") ?? ""; StationFaction = faction.Value<string>("Name") ?? "";

View File

@ -2,18 +2,17 @@
namespace EDJournal { namespace EDJournal {
public class FSDJumpEntry : Entry { public class FSDJumpEntry : Entry {
private string starsystem = null;
private string systemfaction = null;
protected override void Initialise() { protected override void Initialise() {
SystemAddress = JSON.Value<ulong?>("SystemAddress") ?? 0; starsystem = JSON.Value<string>("StarSystem");
StarSystem = JSON.Value<string>("StarSystem");
var faction = JSON.Value<JObject>("SystemFaction"); var faction = JSON.Value<JObject>("SystemFaction");
if (faction != null) { if (faction != null) {
SystemFaction = faction.Value<string>("Name"); systemfaction = faction.Value<string>("Name");
} }
} }
public string StarSystem { get; set; } public string StarSystem => starsystem;
public string SystemFaction { get; set; } public string SystemFaction => systemfaction;
public ulong SystemAddress { get; set; }
} }
} }

View File

@ -1,17 +1,14 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using System.Linq;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
namespace EDJournal { namespace EDJournal {
public class MissionCompletedEntry : Entry { public class MissionCompletedEntry : Entry {
private Dictionary<string, Dictionary<ulong, string>> influences = new Dictionary<string, Dictionary<ulong, string>>(); private Dictionary<string, string> influences = new Dictionary<string, string>();
private List<string> affected = new List<string>(); private List<string> affected = new List<string>();
private string readable_name = null; private string readable_name = null;
private bool readable_name_generated = false; private bool readable_name_generated = false;
public Dictionary<string, Dictionary<ulong, string>> Influences => influences;
protected override void Initialise() { protected override void Initialise() {
MissionID = JSON.Value<int?>("MissionID") ?? 0; MissionID = JSON.Value<int?>("MissionID") ?? 0;
Name = JSON.Value<string>("Name"); Name = JSON.Value<string>("Name");
@ -41,23 +38,12 @@ namespace EDJournal {
var influence = effect.Value<JArray>("Influence"); var influence = effect.Value<JArray>("Influence");
if (influence == null || influence.Count == 0) { if (influence == null || influence.Count == 0) {
// No influence reward, happens sometimes, but we have to accept it // No influence reward, happens sometimes, but we have to accept it
influences.Add(faction, new Dictionary<ulong, string>()); influences.Add(faction, "");
} else { } else {
foreach (var infl in influence.Children<JObject>()) { foreach (var infl in influence.Children<JObject>()) {
infl.TryGetValue("Influence", out JToken result); infl.TryGetValue("Influence", out JToken result);
infl.TryGetValue("SystemAddress", out JToken systemaddr); if (result != null && result.Type == JTokenType.String) {
if (result != null && result.Type == JTokenType.String && influences.Add(faction, result.ToString());
systemaddr != null && systemaddr.Type == JTokenType.Integer) {
ulong system = systemaddr.ToObject<ulong?>() ?? 0;
string inf = result.ToString();
if (!influences.ContainsKey(faction)) {
influences.Add(faction, new Dictionary<ulong, string>());
}
if (!influences[faction].ContainsKey(system)) {
influences[faction].Add(system, inf);
}
} }
} }
} }
@ -124,24 +110,11 @@ namespace EDJournal {
public string[] AffectedFactions => affected.ToArray(); public string[] AffectedFactions => affected.ToArray();
public string GetInfluenceForFaction(string faction) { public string GetInfluenceForFaction(string faction) {
if (!influences.ContainsKey(faction)) { if (influences.ContainsKey(faction)) {
return influences[faction];
}
return ""; return "";
} }
var inf = influences[faction];
return string.Join("", inf.Values);
}
public string GetInfluenceForFaction(string faction, ulong systemaddr) {
if (!influences.ContainsKey(faction)) {
return "";
}
if (!influences[faction].ContainsKey(systemaddr)) {
return "";
}
return influences[faction][systemaddr];
}
} }
} }

View File

@ -3,7 +3,6 @@
<Mission Name="Chain_RegainFooting_name">Regain Footing (Chain)</Mission> <Mission Name="Chain_RegainFooting_name">Regain Footing (Chain)</Mission>
<Mission Name="Mission_Altruism_name">Donate</Mission> <Mission Name="Mission_Altruism_name">Donate</Mission>
<Mission Name="Mission_AltruismCredits_Bust_name">Donate Credits (Bust)</Mission> <Mission Name="Mission_AltruismCredits_Bust_name">Donate Credits (Bust)</Mission>
<Mission Name="Mission_AltruismCredits_Famine_name">Donate Credits (Famine)</Mission>
<Mission Name="Mission_AltruismCredits_name">Donate Credits</Mission> <Mission Name="Mission_AltruismCredits_name">Donate Credits</Mission>
<Mission Name="Mission_Assassinate_Legal_Corporate_name">Corporate Assassination (Legal)</Mission> <Mission Name="Mission_Assassinate_Legal_Corporate_name">Corporate Assassination (Legal)</Mission>
<Mission Name="Mission_Assassinate_name">Assassination</Mission> <Mission Name="Mission_Assassinate_name">Assassination</Mission>