diff --git a/EliteDangerous/JournalStatus/Events/JournalDiscoveryScans.cs b/EliteDangerous/JournalStatus/Events/JournalDiscoveryScans.cs index 41be192f..a09bc40c 100644 --- a/EliteDangerous/JournalStatus/Events/JournalDiscoveryScans.cs +++ b/EliteDangerous/JournalStatus/Events/JournalDiscoveryScans.cs @@ -639,6 +639,7 @@ public JournalScanOrganic(JObject evt) : base(evt, JournalTypeEnum.ScanOrganic) Species_Localised = Species_Localised.Alt(Species); Genus = Genus.Alt("Unknown"); Genus_Localised = Genus_Localised.Alt(Genus); + WasLogged = evt["WasLogged"].BoolNull(); OrganicEstimatedValues.Values value = EventTimeUTC < EliteReleaseDates.Odyssey14 ? OrganicEstimatedValues.GetValuePreU14(Species) : OrganicEstimatedValues.GetValuePostU14(Species); @@ -674,6 +675,8 @@ public JournalScanOrganic(JObject evt) : base(evt, JournalTypeEnum.ScanOrganic) public enum ScanTypeEnum { Log, Sample, Analyse }; [PropertyNameAttribute("Log type")] public ScanTypeEnum ScanType { get; set; } //Analyse, Log, Sample + [PropertyNameAttribute("Was it logged before")] + public bool? WasLogged { get; set; } [PropertyNameAttribute("Estimated realisable value cr")] public int? EstimatedValue { get; set; } // set on analyse [PropertyNameAttribute("Potential value cr")] @@ -691,7 +694,7 @@ public override string GetInfo(FillInformationData fid) { int? ev = ScanType == ScanTypeEnum.Analyse ? EstimatedValue : null; // if analyse, its estimated value int? pev = ev == null ? PotentialEstimatedValue : null; // if not at analyse, its potential value - return BaseUtils.FieldBuilder.Build("", ScanType.ToString(), "<: ", Genus_Localised, "", Species_Localised_Short, "", Variant_Localised_Short, "; cr;N0", ev, "(;) cr;N0", pev, "< @ ", fid.WhereAmI); + return BaseUtils.FieldBuilder.Build("", ScanType.ToString(), "<: ", Genus_Localised, "", Species_Localised_Short, "", Variant_Localised_Short, "; cr;N0", ev, "(;) cr;N0", pev, "", WasLogged == null ? "" : WasLogged == false ? "Was not logged".Tx() : "Was logged".Tx(), "< @ ", fid.WhereAmI); } // this sorts the list by date/time, then runs the algorithm that returns only the latest sample state for each key diff --git a/EliteDangerous/JournalStatus/Events/JournalScan.cs b/EliteDangerous/JournalStatus/Events/JournalScan.cs index 964daa79..d427e449 100644 --- a/EliteDangerous/JournalStatus/Events/JournalScan.cs +++ b/EliteDangerous/JournalStatus/Events/JournalScan.cs @@ -117,6 +117,8 @@ public partial class JournalScan : JournalEntry, IStarScan, IBodyNameIDOnly public bool IsNotPreviouslyMapped { get { return WasMapped.HasValue && WasMapped == false; } } // true if its there, and its not mapped [PropertyNameAttribute("Has the body been previously mapped")] public bool IsPreviouslyMapped { get { return WasMapped.HasValue && WasMapped == true; } } // true if its there, and its mapped + [PropertyNameAttribute("Was there a previous footfall on the body")] + public bool? WasFootfalled { get; private set; } [PropertyNameAttribute("Mass of star or planet in KG")] public double? nMassKG { get { return IsPlanet ? nMassEM * BodyPhysicalConstants.oneEarth_KG : nStellarMass * BodyPhysicalConstants.oneSol_KG; } } @@ -446,6 +448,7 @@ public JournalScan(JObject evt) : base(evt, JournalTypeEnum.Scan) DistanceFromArrivalLS = evt["DistanceFromArrivalLS"].Double(); // ALL WasDiscovered = evt["WasDiscovered"].BoolNull(); // ALL new 3.4 WasMapped = evt["WasMapped"].BoolNull(); // ALL new 3.4 + WasFootfalled = evt["WasFootfalled"].BoolNull(); // ALL new 4.2.1 JArray parents = evt["Parents"].Array(); // ALL will be null if parents is not an array (also if its Null) if (!parents.IsNull() && parents.IsArray) diff --git a/EliteDangerous/JournalStatus/Events/JournalScan_Display.cs b/EliteDangerous/JournalStatus/Events/JournalScan_Display.cs index b2a5476a..5c75f1a9 100644 --- a/EliteDangerous/JournalStatus/Events/JournalScan_Display.cs +++ b/EliteDangerous/JournalStatus/Events/JournalScan_Display.cs @@ -297,6 +297,12 @@ public void DisplaySummary(StringBuilder sb, List 0 ? ev.EstimatedValueFirstMappedEfficiently : ev.EstimatedValueBase).ToString("N0")).Append(" cr"); } } + else if (js.WasMapped == true && js.WasDiscovered == true && js.WasFootfalled == true) + { + information.Append(" (Mapped & Discovered & Footfalled)".Tx()); + if (showvalues) + { + information.Append(' ').Append(ev.EstimatedValueMappedEfficiently.ToString("N0")).Append(" cr"); + } + } + else if (js.WasMapped == true && js.WasDiscovered == false && js.WasFootfalled == true) + { + information.Append(" (Mapped & Footfalled)".Tx()); + if (showvalues) + { + information.Append(' ').Append(ev.EstimatedValueFirstMappedEfficiently.ToString("N0")).Append(" cr"); + } + } + else if (js.WasDiscovered == true && js.WasMapped == false && js.WasFootfalled == true) + { + information.Append(" (Discovered & Footfalled)".Tx()); + if (showvalues) + { + information.Append(' ').Append((ev.EstimatedValueFirstMappedEfficiently > 0 ? ev.EstimatedValueFirstMappedEfficiently : ev.EstimatedValueBase).ToString("N0")).Append(" cr"); + } + } + else if (js.WasDiscovered == false && js.WasMapped == false && js.WasFootfalled == true) + { + information.Append(" (Footfalled)".Tx()); + if (showvalues) + { + information.Append(' ').Append((ev.EstimatedValueFirstDiscoveredFirstMappedEfficiently > 0 ? ev.EstimatedValueFirstDiscoveredFirstMappedEfficiently : ev.EstimatedValueBase).ToString("N0")).Append(" cr"); + } + } else if (js.WasDiscovered == false && js.IsStar) { if (showvalues) diff --git a/EliteDangerous/Translations/translation-deutsch-je.tlp b/EliteDangerous/Translations/translation-deutsch-je.tlp index b51f26a2..bb04d5a5 100644 --- a/EliteDangerous/Translations/translation-deutsch-je.tlp +++ b/EliteDangerous/Translations/translation-deutsch-je.tlp @@ -498,6 +498,7 @@ AC983DAC73C35D: "Scan Type: {0}" => "Scanart: {0}" 187199564DF54F: "Inferred Circumstellar zones" => "Vermutete zirkumstellare Zonen" AEF0ABF930C73C: "Ascending Node: {0:0.000}°" => "Aufsteigender Knoten: {0:0.000}°" 4853FB66BD4B2E: "Mean Anomaly: {0:0.000}°" => "Mittlere Anomalie: {0:0.000}°" +2F670401770A29: "Already Footfalled" => "Bereits betreten" SECTION JournalSAAScanComplete @@ -1054,6 +1055,10 @@ EE5122344A579C: " 'Other' signals: {0}." => " 'Andere' Signale: {0}." 204E719EB4129D: " (Mapped & Discovered)" => " (Kartographiert & erkundet)" D91D9838CE0944: " (Mapped)" => " (Kartographiert)" B2983B7DF494FA: " (Discovered)" => " (Erkundet)" +28D71AA19F7722: " (Mapped & Discovered & Footfalled)" => " (Kartographiert & erkundet & betreten)" +C9E160E5886911: " (Discovered & Footfalled)" => " (Erkundet & betreten)" +5B311AC7A079E0: " (Mapped & Footfalled)" => " (Kartographiert & betreten)" +3A8B7F7DE33BAF: " (Footfalled)" => " (Betreten)" D343B137399D3A: " Is landable." => " Ist landbar." 817016EBBA625C: " Is ringed." => " Hat Ringe." 69016A1EE7145D: " Has " => " hat " @@ -1084,6 +1089,8 @@ F1A87D41F026EE: "Squadron Bank" @ SECTION JournalScanOrganics 4DAB054FDB754D: "Potential Value: ; cr;N0" => "Potentieller Wert: ; Cr;N0" +60B15E90591861: "Was logged" => "Bereits geloggt" +FB0FEB4A33D00B: "Was not logged" => "Noch nicht geloggt" SECTION AtmosphereTypes diff --git a/EliteDangerous/Translations/translation-example-je.tlp b/EliteDangerous/Translations/translation-example-je.tlp index 67f5ca38..0b7d7598 100644 --- a/EliteDangerous/Translations/translation-example-je.tlp +++ b/EliteDangerous/Translations/translation-example-je.tlp @@ -499,6 +499,7 @@ AC983DAC73C35D: "Scan Type: {0}" @ 187199564DF54F: "Inferred Circumstellar zones" @ AEF0ABF930C73C: "Ascending Node: {0:0.000}°" @ 4853FB66BD4B2E: "Mean Anomaly: {0:0.000}°" @ +2F670401770A29: "Already Footfalled" @ SECTION JournalSAAScanComplete @@ -1055,6 +1056,10 @@ EE5122344A579C: " 'Other' signals: {0}." @ 204E719EB4129D: " (Mapped & Discovered)" @ D91D9838CE0944: " (Mapped)" @ B2983B7DF494FA: " (Discovered)" @ +28D71AA19F7722: " (Mapped & Discovered & Footfalled)" @ +C9E160E5886911: " (Discovered & Footfalled)" @ +5B311AC7A079E0: " (Mapped & Footfalled)" @ +3A8B7F7DE33BAF: " (Footfalled)" @ D343B137399D3A: " Is landable." @ 817016EBBA625C: " Is ringed." @ 69016A1EE7145D: " Has " @ @@ -1085,6 +1090,8 @@ F1A87D41F026EE: "Squadron Bank" @ SECTION JournalScanOrganics 4DAB054FDB754D: "Potential Value: ; cr;N0" @ +60B15E90591861: "Was logged" @ +FB0FEB4A33D00B: "Was not logged" @ SECTION AtmosphereTypes