diff --git a/EliteBGS/LogGenerator/CombatZoneFormat.cs b/EliteBGS/LogGenerator/CombatZoneFormat.cs
index 825f0b5..3798a0f 100644
--- a/EliteBGS/LogGenerator/CombatZoneFormat.cs
+++ b/EliteBGS/LogGenerator/CombatZoneFormat.cs
@@ -19,11 +19,19 @@ class CombatZoneFormat : LogFormatter {
}
foreach (var log in logs) {
- builder.AppendFormat("Won {0}x {1} {2} Combat Zones\n",
+ int optionals = log.Value
+ .Sum(x => x.OptionalObjectivesCompleted)
+ ;
+ builder.AppendFormat("Won {0}x {1} {2} Combat Zones",
log.Value.Count,
log.Key.Grade,
log.Key.Type
);
+
+ if (optionals > 0) {
+ builder.AppendFormat(" (with {0} optional objectives)", optionals);
+ }
+ builder.Append("\n");
}
return builder.ToString().Trim();
diff --git a/EliteBGS/MainWindow.xaml b/EliteBGS/MainWindow.xaml
index bf55bbf..2568068 100644
--- a/EliteBGS/MainWindow.xaml
+++ b/EliteBGS/MainWindow.xaml
@@ -84,6 +84,11 @@
+
+
+
+
+
diff --git a/EliteBGS/Objective.cs b/EliteBGS/Objective.cs
index f3b2ca4..27fcd66 100644
--- a/EliteBGS/Objective.cs
+++ b/EliteBGS/Objective.cs
@@ -25,6 +25,97 @@ public class UITransaction {
}
}
+ public Visibility IsShipCombatZone {
+ get {
+ CombatZone? combat = Transaction as CombatZone;
+ if (combat == null) {
+ return Visibility.Hidden;
+ }
+
+ if (string.Compare(combat.Type, "Ship") == 0) {
+ return Visibility.Visible;
+ }
+
+ return Visibility.Hidden;
+ }
+ }
+
+ public bool? HasSpecOps {
+ get {
+ CombatZone? combat = Transaction as CombatZone;
+ if (combat == null) {
+ return false;
+ }
+
+ return combat.SpecOps ?? false;
+ }
+ set {
+ CombatZone? combat = Transaction as CombatZone;
+ if (combat == null) {
+ return;
+ }
+
+ combat.SpecOps = value;
+ }
+ }
+
+ public bool? HasCapitalShip {
+ get {
+ CombatZone? combat = Transaction as CombatZone;
+ if (combat == null) {
+ return false;
+ }
+
+ return combat.CapitalShip ?? false;
+ }
+ set {
+ CombatZone? combat = Transaction as CombatZone;
+ if (combat == null) {
+ return;
+ }
+
+ combat.CapitalShip = value;
+ }
+ }
+
+ public bool? HasCaptain {
+ get {
+ CombatZone? combat = Transaction as CombatZone;
+ if (combat == null) {
+ return false;
+ }
+
+ return combat.Captain ?? false;
+ }
+ set {
+ CombatZone? combat = Transaction as CombatZone;
+ if (combat == null) {
+ return;
+ }
+
+ combat.Captain = value;
+ }
+ }
+
+ public bool? HasCorrespondent {
+ get {
+ CombatZone? combat = Transaction as CombatZone;
+ if (combat == null) {
+ return false;
+ }
+
+ return combat.Correspondent ?? false;
+ }
+ set {
+ CombatZone? combat = Transaction as CombatZone;
+ if (combat == null) {
+ return;
+ }
+
+ combat.Correspondent = value;
+ }
+ }
+
///
/// Profit from selling, used in the XAML ui for binding
///