From 1bd9b0da8b6a19c76f1cb09c69ac4e655b8cb27e Mon Sep 17 00:00:00 2001 From: Brian Wilson Date: Sat, 4 Jan 2025 03:03:46 -0800 Subject: [PATCH] Add ship distances to Ship Monitor UI (#2682) Resolves #2671. --- ChangeLog.md | 2 + DataDefinitions/Ship.cs | 189 +- DataProviderService/DataProviderService.cs | 104 +- .../StarSystemSqLiteRepository.cs | 56 +- EDDI/EDDI.cs | 2 +- EddiSpanshService/SpanshQuickStation.cs | 83 + EddiSpanshService/SpanshQuickSystem.cs | 13 +- JournalMonitor/JournalMonitor.cs | 11 +- ShipMonitor/ConfigurationWindow.xaml | 67 +- ShipMonitor/ConfigurationWindow.xaml.cs | 22 + ShipMonitor/FrontierApi.cs | 43 +- .../Properties/ShipMonitor.Designer.cs | 27 + ShipMonitor/Properties/ShipMonitor.resx | 11 + ShipMonitor/ShipMonitor.cs | 89 +- Tests/CommanderDataTests.cs | 13 +- Tests/DataProviderTests.cs | 19 +- Tests/EddnTests.cs | 12 +- Tests/Properties/Resources.Designer.cs | 40 + Tests/Properties/Resources.resx | 12 + .../SpanshQuickStarSystemAchenar.json | 1170 +++--- .../SpanshQuickStarSystemAlectrona.json | 1420 ++++++++ .../SpanshQuickStarSystemAlioth.json | 2650 +++++++------- .../SpanshQuickStarSystemArtemis.json | 918 +++-- ...QuickStarSystemHyadesSector_DL_X_b1_2.json | 363 +- .../SpanshQuickStarSystemKaushpoos.json | 854 +++++ .../SpanshQuickStarSystemLTT_1349.json | 1647 +++++++++ ...QuickStarSystemOmegaSector_DM_M_b7_16.json | 1131 +++--- ...ickStarSystemPleiadesSector_GW_W_c1_4.json | 211 +- ...ckStarSystemPleiadesSector_HR_W_d1_79.json | 431 +-- .../Properties/SpanshQuickStarSystemSol.json | 3177 ++++++++--------- .../SpanshQuickStarSystemTz_Arietis.json | 2099 +++++++++++ Tests/Properties/shipMonitor.json | 14 +- Tests/ShipMonitorTests.cs | 10 +- Tests/SpanshServiceTests.cs | 2 +- Tests/TestBase.cs | 12 +- 35 files changed, 11701 insertions(+), 5223 deletions(-) create mode 100644 EddiSpanshService/SpanshQuickStation.cs create mode 100644 Tests/Properties/SpanshQuickStarSystemAlectrona.json create mode 100644 Tests/Properties/SpanshQuickStarSystemKaushpoos.json create mode 100644 Tests/Properties/SpanshQuickStarSystemLTT_1349.json create mode 100644 Tests/Properties/SpanshQuickStarSystemTz_Arietis.json diff --git a/ChangeLog.md b/ChangeLog.md index ddec94b65b..bdc69fe1b9 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -30,6 +30,8 @@ Full details of the variables available for each noted event, and VoiceAttack in * `Powerplay` event updated to remove the obsolete `votes` property (Powerplay 2.0 does not use a voting system). * `Signal detected` event updated to include new Powerplay properties. * `Star scanned` event updated to add missing `systemname` property. + * Ship Monitor + * Updated ships grid to add distances in light years. * Speech Responder * Scripts * `Carrier jumped` script updated to include new Powerplay details. diff --git a/DataDefinitions/Ship.cs b/DataDefinitions/Ship.cs index 4b5cd14ef8..9a7b5f998d 100644 --- a/DataDefinitions/Ship.cs +++ b/DataDefinitions/Ship.cs @@ -1,4 +1,5 @@ -using Newtonsoft.Json; +using JetBrains.Annotations; +using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; @@ -19,15 +20,15 @@ public class Ship : INotifyPropertyChanged public int LocalId { get; set; } /// the manufacturer of the ship (Lakon, CoreDynamics etc.) - [PublicAPI, JsonIgnore] + [Utilities.PublicAPI, JsonIgnore] public string manufacturer { get; set; } /// the spoken manufacturer of the ship (Lakon, CoreDynamics etc.) (rendered using ssml and IPA) - [PublicAPI, JsonIgnore] + [Utilities.PublicAPI, JsonIgnore] public string phoneticmanufacturer => SpokenManufacturer(); /// the spoken model of the ship (Python, Anaconda, etc.) (rendered using ssml and IPA) - [PublicAPI, JsonIgnore] + [Utilities.PublicAPI, JsonIgnore] public string phoneticmodel => SpokenModel(); [JsonIgnore] @@ -38,7 +39,7 @@ public class Ship : INotifyPropertyChanged public LandingPadSize Size { get; set; } = LandingPadSize.Small; /// the spoken size of this ship - [PublicAPI, JsonIgnore] + [Utilities.PublicAPI, JsonIgnore] public string size => (Size ?? LandingPadSize.Small).localizedName; /// the size of the military compartment slots @@ -46,7 +47,7 @@ public class Ship : INotifyPropertyChanged public int? militarysize { get; set; } /// the total tonnage cargo capacity - [ PublicAPI, JsonIgnore] + [ Utilities.PublicAPI, JsonIgnore] public int cargocapacity => compartments .Where( c=> c.module != null ) .Select(c => c.module) @@ -55,7 +56,7 @@ public class Ship : INotifyPropertyChanged /// the value of the ship without cargo, in credits - [PublicAPI] + [Utilities.PublicAPI] public long value { get => _value; @@ -73,7 +74,7 @@ public long value /// the value of the ship's hull, in credits - [PublicAPI] + [Utilities.PublicAPI] public long? hullvalue { get => _hullvalue; @@ -91,7 +92,7 @@ public long? hullvalue /// the value of the ship's hull, in credits - [PublicAPI] + [Utilities.PublicAPI] public long? modulesvalue { get => _modulesvalue; @@ -108,7 +109,7 @@ public long? modulesvalue private long _modulesvalue; /// the value of the ship's rebuy, in credits - [PublicAPI] + [Utilities.PublicAPI] public long rebuy { get => _rebuy; @@ -117,7 +118,7 @@ public long rebuy private long _rebuy; /// the name of this ship - [PublicAPI] + [Utilities.PublicAPI] public string name { get => _name; @@ -133,7 +134,7 @@ public string name private string _name; /// the model of the ship (Python, Anaconda, Cobra Mk. III, etc.) - [PublicAPI] + [Utilities.PublicAPI] public string model { get => _model; @@ -151,7 +152,7 @@ public string model /// the identifier of this ship - [PublicAPI] + [Utilities.PublicAPI] public string ident { get => _ident; @@ -190,7 +191,7 @@ public string phoneticName /// The ship's spoken name (rendered using ssml and IPA) - [PublicAPI, JsonIgnore] + [Utilities.PublicAPI, JsonIgnore] public string phoneticname => SpokenName(); [JsonIgnore] @@ -225,7 +226,7 @@ public Role Role } private Role _Role = Role.MultiPurpose; - [PublicAPI, JsonIgnore, Obsolete("Please use localizedName or invariantName")] + [Utilities.PublicAPI, JsonIgnore, Obsolete("Please use localizedName or invariantName")] public string role => Role?.localizedName; // This string is made available for Cottle scripts that vary depending on the ship's role. [JsonExtensionData] @@ -270,12 +271,13 @@ public string raw } private string _raw; + [JsonIgnore] public bool RawIsNotNull => !string.IsNullOrEmpty(_raw); /// /// The wanted/hot status of this ship /// - [PublicAPI, JsonIgnore] + [Utilities.PublicAPI, JsonIgnore] public bool hot { get => _hot; @@ -291,57 +293,49 @@ public bool hot private bool _hot = false; - /// the name of the system in which this ship is stored; null if the commander is in this ship - [PublicAPI] - public string starsystem + public Location StoredLocation { - get => _starsystem; - set + get => _storedLocation; + set { - if (_starsystem != value) + if ( _storedLocation?.systemAddress != value?.systemAddress || + _storedLocation?.marketId != value?.marketId || + _storedLocation?.x != value?.x || + _storedLocation?.y != value?.y || + _storedLocation?.z != value?.z ) { - _starsystem = value; + _storedLocation = value; OnPropertyChanged(); } } } + private Location _storedLocation; - private string _starsystem; + /// the name of the system in which this ship is stored; null if the commander is in this ship + [ Utilities.PublicAPI, JsonIgnore ] + public string starsystem => StoredLocation?.systemName; - [Obsolete("Please use 'starsystem' instead")] + [Obsolete( "Please use 'starsystem' instead"), JsonIgnore ] public string system => starsystem; // Legacy Cottle scripts may use `system` rather than `starsystem`. /// the name of the station in which this ship is stored; null if the commander is in this ship - [PublicAPI] - public string station - { - get => _station; - set { _station = value; OnPropertyChanged(); } - } - private string _station; - - [PublicAPI] - public long? marketid - { - get => _marketid; - set { _marketid = value; OnPropertyChanged(); } - } - private long? _marketid; - - public decimal? x { get; set; } + [Utilities.PublicAPI, JsonIgnore] + public string station => StoredLocation?.stationName; - public decimal? y { get; set; } - - public decimal? z { get; set; } + [Utilities.PublicAPI, JsonIgnore] + public long? marketid => StoredLocation?.marketId; + [JsonIgnore] public bool intransit { get; set; } + [JsonIgnore] public long? transferprice { get; set; } + [JsonIgnore] public long? transfertime { get; set; } - [PublicAPI] + [Utilities.PublicAPI ("The distance to the ship in light years" ) ] public decimal? distance { get => _distance; @@ -350,7 +344,7 @@ public decimal? distance private decimal? _distance; - [PublicAPI] + [Utilities.PublicAPI] public decimal health { get => _health; @@ -358,7 +352,7 @@ public decimal health } private decimal _health = 100M; - [PublicAPI] + [Utilities.PublicAPI] public Module cargohatch { get => _cargohatch; @@ -366,7 +360,7 @@ public Module cargohatch } private Module _cargohatch = new Module(); - [PublicAPI] + [Utilities.PublicAPI] public Module bulkheads { get => _bulkheads; @@ -374,7 +368,7 @@ public Module bulkheads } private Module _bulkheads = new Module(); - [PublicAPI] + [Utilities.PublicAPI] public Module canopy { get => _canopy; @@ -382,7 +376,7 @@ public Module canopy } private Module _canopy = new Module(); - [PublicAPI] + [Utilities.PublicAPI] public Module powerplant { get => _powerplant; @@ -390,7 +384,7 @@ public Module powerplant } private Module _powerplant = new Module(); - [PublicAPI] + [Utilities.PublicAPI] public Module thrusters { get => _thrusters; @@ -398,7 +392,7 @@ public Module thrusters } private Module _thrusters = new Module(); - [PublicAPI] + [Utilities.PublicAPI] public Module frameshiftdrive { get => _frameshiftdrive; @@ -406,7 +400,7 @@ public Module frameshiftdrive } private Module _frameshiftdrive = new Module(); - [PublicAPI] + [Utilities.PublicAPI] public Module lifesupport { get => _lifesupport; @@ -414,7 +408,7 @@ public Module lifesupport } private Module _lifesupport = new Module(); - [PublicAPI] + [Utilities.PublicAPI] public Module powerdistributor { get => _powerdistributor; @@ -422,7 +416,7 @@ public Module powerdistributor } private Module _powerdistributor = new Module(); - [PublicAPI] + [Utilities.PublicAPI] public Module sensors { get => _sensors; @@ -430,7 +424,7 @@ public Module sensors } private Module _sensors = new Module(); - [PublicAPI] + [Utilities.PublicAPI] public Module fueltank { get => _fueltank; @@ -438,7 +432,7 @@ public Module fueltank } private Module _fueltank = new Module(); - [PublicAPI, JetBrains.Annotations.NotNull, JetBrains.Annotations.ItemNotNull] + [Utilities.PublicAPI, JetBrains.Annotations.NotNull, JetBrains.Annotations.ItemNotNull] public List hardpoints { get => _hardpoints; @@ -446,7 +440,7 @@ public List hardpoints } private List _hardpoints = new List(); - [PublicAPI, JetBrains.Annotations.NotNull, JetBrains.Annotations.ItemNotNull] + [Utilities.PublicAPI, JetBrains.Annotations.NotNull, JetBrains.Annotations.ItemNotNull] public List compartments { get => _compartments; @@ -454,7 +448,7 @@ public List compartments } private List _compartments = new List(); - [PublicAPI, JetBrains.Annotations.NotNull, JetBrains.Annotations.ItemNotNull] + [Utilities.PublicAPI, JetBrains.Annotations.NotNull, JetBrains.Annotations.ItemNotNull] public List launchbays { get => _launchbays; @@ -464,10 +458,10 @@ public List launchbays public string paintjob { get; set; } - [PublicAPI, JsonIgnore] // Core capacity + [Utilities.PublicAPI, JsonIgnore] // Core capacity public decimal? fueltankcapacity => fueltank?.@class > 0 ? 1 << fueltank?.@class : 0; // Shift operator, equiv to 2^(fueltank.@class), calculated as an integer - [PublicAPI, JsonIgnore] // Capacity including additional tanks (and excluding the active fuel reservoir) + [Utilities.PublicAPI, JsonIgnore] // Capacity including additional tanks (and excluding the active fuel reservoir) public decimal? fueltanktotalcapacity => fueltankcapacity + compartments .Where( c => c.module != null ) .Select( c => c.module ) @@ -480,7 +474,7 @@ public List launchbays // Ship jump and mass properties - [PublicAPI] + [Utilities.PublicAPI] public decimal maxjumprange { get => _maxjumprange; @@ -503,7 +497,7 @@ public decimal maxjumprange [JsonIgnore, Obsolete("Please use maxjumprange instead")] public decimal maxjump => maxjumprange; - [ PublicAPI, JsonIgnore] + [ Utilities.PublicAPI, JsonIgnore] public decimal maxfuelperjump => frameshiftdrive?.GetFsdMaxFuelPerJump() ?? 0; [JsonIgnore, Obsolete("Please use maxfuelperjump instead")] @@ -591,14 +585,7 @@ public string SpokenModel() } public string SpokenManufacturer() => ShipManufacturer.SpokenManufacturer(manufacturer) ?? manufacturer; - - /// Calculates the distance from the specified coordinates to the ship's recorded x, y, and z coordinates - public decimal? Distance(decimal? fromX, decimal? fromY, decimal? fromZ) - { - // Work out the distance to the system where the ship is stored if we can - return Functions.StellarDistanceLy(x, y, z, fromX, fromY, fromZ); - } - + public string CoriolisUri(bool beta = false) { if (raw != null) @@ -807,6 +794,18 @@ public static Ship FromShipyardInfo(ShipyardInfoItem item) return null; } } + + /// Calculates the distance from the specified coordinates to the ship's recorded x, y, and z coordinates + public decimal? DistanceLY ( decimal? fromX, decimal? fromY, decimal? fromZ ) + { + return Functions.StellarDistanceLy( StoredLocation?.x, StoredLocation?.y, StoredLocation?.z, fromX, fromY, fromZ ); + } + + /// Calculates the distance from the specified coordinates to the ship's recorded x, y, and z coordinates + public decimal? DistanceLY ( StarSystem fromStarSystem ) + { + return Functions.StellarDistanceLy( StoredLocation?.x, StoredLocation?.y, StoredLocation?.z, fromStarSystem?.x, fromStarSystem?.y, fromStarSystem?.z ); + } public event PropertyChangedEventHandler PropertyChanged; @@ -814,5 +813,51 @@ private void OnPropertyChanged([System.Runtime.CompilerServices.CallerMemberName { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propName)); } + + public class Location + { + public string systemName { get; set; } + public ulong systemAddress { get; set; } + public decimal? x { get; set; } + public decimal? y { get; set; } + public decimal? z { get; set; } + public string stationName { get; set; } + public long? marketId { get; set; } + + // Default constructor + [JsonConstructor] + public Location ( string systemName, ulong systemAddress, decimal? x, decimal? y, decimal? z, string stationName, long? marketId ) + { + this.systemName = systemName; + this.systemAddress = systemAddress; + this.x = x; + this.y = y; + this.z = z; + this.stationName = stationName; + this.marketId = marketId; + } + + public Location ( [NotNull] StarSystem starSystem, string stationName, long? marketId ) + { + this.systemName = starSystem.systemname; + this.systemAddress = starSystem.systemAddress; + this.x = starSystem.x; + this.y = starSystem.y; + this.z = starSystem.z; + this.stationName = stationName; + this.marketId = marketId; + } + + public Location ( [NotNull] NavWaypoint waypoint ) + { + this.systemName = waypoint.systemName; + this.systemAddress = waypoint.systemAddress; + this.x = waypoint.x; + this.y = waypoint.y; + this.z = waypoint.z; + this.stationName = waypoint.stationName; + this.marketId = waypoint.marketID; + } + } } } diff --git a/DataProviderService/DataProviderService.cs b/DataProviderService/DataProviderService.cs index d295dcb283..e76304ae01 100644 --- a/DataProviderService/DataProviderService.cs +++ b/DataProviderService/DataProviderService.cs @@ -19,11 +19,11 @@ namespace EddiDataProviderService /// Access data services. Prefer our cache and local database wherever possible. public class DataProviderService { - private readonly BgsService bgsService; - private readonly StarMapService edsmService; - private readonly SpanshService spanshService; - private readonly StarSystemSqLiteRepository starSystemRepository; - private readonly StarSystemCache starSystemCache; + internal readonly BgsService bgsService; + internal readonly StarMapService edsmService; + internal readonly SpanshService spanshService; + internal readonly StarSystemSqLiteRepository starSystemRepository; + internal readonly StarSystemCache starSystemCache; public static bool unitTesting; @@ -186,6 +186,81 @@ public List GetOrFetchSystemWaypoints ( string[] systemNames ) return results; } + /// + /// Find the station with the given system and station names from the Spansh Station Search API. + /// + /// + /// + /// + public NavWaypoint GetOrFetchStationWaypoint ( ulong fromSystemAddress, long fromMarketId ) + { + // Try to fetch from cached systems + if ( starSystemCache.TryGet( fromSystemAddress, out var cachedStarSystem ) ) + { + var cachedStation = cachedStarSystem.stations.FirstOrDefault( s => s.marketId == fromMarketId ); + if ( cachedStation != null ) + { + return new NavWaypoint( cachedStarSystem ) + { + stationName = cachedStation.name, + marketID = cachedStation.marketId + }; + } + } + + var system = GetOrFetchQuickStarSystem( fromSystemAddress ); + var station = system?.stations.FirstOrDefault( s => s.marketId == fromMarketId ); + if ( station != null ) + { + return new NavWaypoint( system ) + { + stationName = station?.name, + marketID = station?.marketId + }; + } + + return null; + } + + /// + /// Find the station with the given system and station names from the Spansh Station Search API. + /// + /// + /// + /// + public NavWaypoint GetOrFetchStationWaypoint ( string fromSystemName, long fromMarketId ) + { + // Try to fetch from cached systems + if ( !string.IsNullOrEmpty( fromSystemName ) && starSystemCache.TryGet( fromSystemName, out var cachedStarSystem ) ) + { + var cachedStation = cachedStarSystem.stations.FirstOrDefault( s => s.marketId == fromMarketId ); + if ( cachedStation != null ) + { + return new NavWaypoint( cachedStarSystem ) + { + stationName = cachedStation.name, + marketID = cachedStation.marketId + }; + } + } + + // Fetch from Spansh + var systemAddress = GetOrFetchSystemWaypoint( fromSystemName )?.systemAddress; + if ( systemAddress != null ) + { + + var system = GetOrFetchQuickStarSystem( (ulong)systemAddress ); + var station = system?.stations.FirstOrDefault( s => s.marketId == fromMarketId ); + return new NavWaypoint( system ) + { + stationName = station?.name, + marketID = station?.marketId + }; + } + + return null; + } + #region StarSystemSqlLiteRepository internal List GetSqlStarSystems ( ulong[] systemAddresses, out List dbStarSystems, bool refreshIfOutdated = true ) @@ -425,24 +500,7 @@ public NavWaypoint FetchStationWaypoint ( decimal fromX, decimal fromY, decimal Logging.Warn( "Spansh API responded with: " + data[ "error" ] ); return null; } - return ParseQuickStation( data?[ "results" ]?.FirstOrDefault() ); - - NavWaypoint ParseQuickStation ( JToken stationData ) - { - if ( stationData is null ) { return null; } - - var systemName = stationData[ "system_name" ]?.ToString(); - var systemAddress = stationData[ "system_id64" ]?.ToObject() ?? 0; - var systemX = stationData[ "system_x" ]?.ToObject() ?? 0; - var systemY = stationData[ "system_y" ]?.ToObject() ?? 0; - var systemZ = stationData[ "system_z" ]?.ToObject() ?? 0; - - return new NavWaypoint( systemName, systemAddress, systemX, systemY, systemZ ) - { - stationName = stationData[ "name" ]?.ToString(), - marketID = stationData[ "market_id" ]?.ToObject() - }; - } + return spanshService.ParseQuickStation( data?[ "results" ]?.FirstOrDefault() ); } /// diff --git a/DataProviderService/StarSystemSqLiteRepository.cs b/DataProviderService/StarSystemSqLiteRepository.cs index cde2fc0716..99de64bb1f 100644 --- a/DataProviderService/StarSystemSqLiteRepository.cs +++ b/DataProviderService/StarSystemSqLiteRepository.cs @@ -98,27 +98,9 @@ UPDATE starsystems private const string WHERE_SYSTEMADDRESS = @"WHERE systemaddress = @systemaddress; PRAGMA optimize;"; private const string WHERE_NAME = @"WHERE name = @name; PRAGMA optimize;"; - private static StarSystemSqLiteRepository instance; - - private static readonly object instanceLock = new object(); - public static StarSystemSqLiteRepository Instance + public StarSystemSqLiteRepository ( SQLiteConnection connection = null ) { - get - { - if (instance == null) - { - lock (instanceLock) - { - if (instance == null) - { - Logging.Debug("No StarSystemSqLiteRepository instance: creating one"); - instance = new StarSystemSqLiteRepository(); - CreateOrUpdateDatabase(); - } - } - } - return instance; - } + CreateOrUpdateDatabase( connection ); } public DatabaseStarSystem GetSqlStarSystem ( ulong systemAddress ) @@ -135,7 +117,7 @@ public List GetSqlStarSystems ( ulong[] systemAddresses ) if ( !systemAddresses.Any() ) { return results; } - results = Instance.ReadStarSystems( systemAddresses ); + results = ReadStarSystems( systemAddresses ); foreach ( var dbStarSystem in results ) { if ( !string.IsNullOrEmpty( dbStarSystem.systemJson ) ) @@ -295,7 +277,7 @@ public void SaveStarSystems(List starSystems) var update = new List(); var insert = new List(); - var dbSystems = Instance.ReadStarSystems(starSystems); + var dbSystems = ReadStarSystems(starSystems); // Determine whether to insert + delete or update the SQL record. // Skip records with a zero value for the systemAddress @@ -325,13 +307,13 @@ public void SaveStarSystems(List starSystems) } // Delete applicable systems - Instance.deleteStarSystems(delete.ToImmutableList()); + deleteStarSystems(delete.ToImmutableList()); // Insert applicable systems - Instance.insertStarSystems(insert.ToImmutableList() ); + insertStarSystems(insert.ToImmutableList() ); // Update applicable systems - Instance.updateStarSystems(update.ToImmutableList() ); + updateStarSystems(update.ToImmutableList() ); } private void insertStarSystems(ImmutableList systems) @@ -486,11 +468,11 @@ private void deleteStarSystems(ImmutableList systems) } } - private static void CreateOrUpdateDatabase() + private void CreateOrUpdateDatabase( SQLiteConnection connection = null ) { lock ( nameof(SimpleDbConnection) ) // Lock before writing to the database { - using ( var con = SimpleDbConnection() ) + using ( var con = connection ?? SimpleDbConnection() ) { try { @@ -505,19 +487,19 @@ private static void CreateOrUpdateDatabase() // Get schema version using ( var cmd = new SQLiteCommand( TABLE_GET_SCHEMA_VERSION_SQL, con ) ) { - Instance.SCHEMA_VERSION = (long)cmd.ExecuteScalar(); - Logging.Debug( "Starsystem repository is schema version " + Instance.SCHEMA_VERSION ); + SCHEMA_VERSION = (long)cmd.ExecuteScalar(); + Logging.Debug( "Starsystem repository is schema version " + SCHEMA_VERSION ); } // Apply any necessary updates - if ( Instance.SCHEMA_VERSION < 1 ) + if ( SCHEMA_VERSION < 1 ) { Logging.Debug( "Updating starsystem repository to schema version 1" ); AddColumnIfMissing( con, "comment" ); - Instance.SCHEMA_VERSION = 1; + SCHEMA_VERSION = 1; } - if ( Instance.SCHEMA_VERSION < 2 ) + if ( SCHEMA_VERSION < 2 ) { Logging.Debug( "Updating starsystem repository to schema version 2" ); @@ -530,10 +512,10 @@ private static void CreateOrUpdateDatabase() cmd.ExecuteNonQuery(); } - Instance.SCHEMA_VERSION = 2; + SCHEMA_VERSION = 2; } - if ( Instance.SCHEMA_VERSION < 3 ) + if ( SCHEMA_VERSION < 3 ) { Logging.Debug( "Updating starsystem repository to schema version 3" ); @@ -544,7 +526,7 @@ private static void CreateOrUpdateDatabase() cmd.ExecuteNonQuery(); } - Instance.SCHEMA_VERSION = 3; + SCHEMA_VERSION = 3; } // Add our indices @@ -556,9 +538,9 @@ private static void CreateOrUpdateDatabase() // Set schema version using ( var cmd = new SQLiteCommand( - TABLE_SET_SCHEMA_VERSION_SQL + Instance.SCHEMA_VERSION + ";", con ) ) + TABLE_SET_SCHEMA_VERSION_SQL + SCHEMA_VERSION + ";", con ) ) { - Logging.Info( "Starsystem repository schema is version " + Instance.SCHEMA_VERSION ); + Logging.Info( "Starsystem repository schema is version " + SCHEMA_VERSION ); cmd.ExecuteNonQuery(); } } diff --git a/EDDI/EDDI.cs b/EDDI/EDDI.cs index a8df1244f1..69d78613e3 100644 --- a/EDDI/EDDI.cs +++ b/EDDI/EDDI.cs @@ -2732,7 +2732,7 @@ private bool eventCommanderLoading(CommanderLoadingEvent theEvent) if ( Cmdr.name != theEvent.name ) { Cmdr.name = theEvent.name; - ObtainResponder( "EDSM Responder" ).Reload(); + ObtainResponder( "EDSM Responder" )?.Reload(); } Cmdr.EDID = theEvent.frontierID; } diff --git a/EddiSpanshService/SpanshQuickStation.cs b/EddiSpanshService/SpanshQuickStation.cs new file mode 100644 index 0000000000..7aa1028acf --- /dev/null +++ b/EddiSpanshService/SpanshQuickStation.cs @@ -0,0 +1,83 @@ +using EddiDataDefinitions; +using Newtonsoft.Json.Linq; +using RestSharp; +using System; +using System.Collections.Generic; +using System.Linq; +using Utilities; + +namespace EddiSpanshService +{ + public partial class SpanshService + { + // Uses the Spansh station quick API (brief station data), e.g. https://spansh.co.uk/api/station/3707582976 + // Useful for quickly obtaining sparse system stations. + public NavWaypoint GetQuickStation (long marketId) + { + if ( marketId == 0 ) { return null; } + var request = new RestRequest($"station/{marketId}"); + if (TryGetQuickStation(request, out var quickStation)) + { + return quickStation; + } + return null; + } + + public IList GetQuickStations ( long[] marketIds ) + { + return marketIds.AsParallel() + .Select( GetQuickStation ) + .ToList(); + } + + private bool TryGetQuickStation ( IRestRequest request, out NavWaypoint quickStation ) + { + var clientResponse = spanshRestClient.Get(request); + quickStation = null; + if (clientResponse.IsSuccessful) + { + if ( string.IsNullOrEmpty( clientResponse.Content ) ) + { + Logging.Warn( "Unable to handle server response." ); + } + try + { + var jResponse = JToken.Parse( clientResponse.Content ); + if ( jResponse.Contains( "error" ) ) + { + Logging.Debug( "Spansh responded with: " + jResponse["error"] ); + } + quickStation = ParseQuickStation( jResponse[ "record" ] ); + } + catch ( Exception e ) + { + Logging.Error( "Failed to parse Spansh response", e ); + } + } + else + { + Logging.Debug( "Spansh responded with: " + clientResponse.ErrorMessage, clientResponse.ErrorException ); + } + + return quickStation != null; + } + + public NavWaypoint ParseQuickStation ( JToken stationData ) + { + if ( stationData is null ) + { return null; } + + var systemName = stationData[ "system_name" ]?.ToString(); + var systemAddress = stationData[ "system_id64" ]?.ToObject() ?? 0; + var systemX = stationData[ "system_x" ]?.ToObject() ?? 0; + var systemY = stationData[ "system_y" ]?.ToObject() ?? 0; + var systemZ = stationData[ "system_z" ]?.ToObject() ?? 0; + + return new NavWaypoint( systemName, systemAddress, systemX, systemY, systemZ ) + { + stationName = stationData[ "name" ]?.ToString(), + marketID = stationData[ "market_id" ]?.ToObject() + }; + } + } +} \ No newline at end of file diff --git a/EddiSpanshService/SpanshQuickSystem.cs b/EddiSpanshService/SpanshQuickSystem.cs index f6ad3c8d0d..8bbfcb2dbd 100644 --- a/EddiSpanshService/SpanshQuickSystem.cs +++ b/EddiSpanshService/SpanshQuickSystem.cs @@ -10,12 +10,12 @@ namespace EddiSpanshService { public partial class SpanshService { - // Uses the Spansh star system quick API (brief star system data), e.g. https://spansh.co.uk/api/search?q=3932277478106 + // Uses the Spansh star system quick API (brief star system data), e.g. https://spansh.co.uk/api/system/3932277478106 // Useful for quickly obtaining sparse system stations. public StarSystem GetQuickStarSystem(ulong systemAddress) { if ( systemAddress == 0 ) { return null; } - var request = new RestRequest($"search?q={systemAddress}"); + var request = new RestRequest($"system/{systemAddress}"); if (TryGetQuickSystem(request, out var quickStarSystem)) { return quickStarSystem; @@ -47,14 +47,7 @@ private bool TryGetQuickSystem ( IRestRequest request, out StarSystem quickStarS { Logging.Debug( "Spansh responded with: " + jResponse["error"] ); } - - var systemJToken = jResponse[ "results" ]?.FirstOrDefault( r => - r?[ "type" ]?.ToString() == "system" && - r[ "record" ]?[ "id64" ]?.ToObject() == jResponse[ "query" ]?.ToObject() ); - if ( systemJToken != null ) - { - quickStarSystem = ParseQuickSystem( systemJToken[ "record" ] ); - } + quickStarSystem = ParseQuickSystem( jResponse[ "record" ] ); } catch ( Exception e ) { diff --git a/JournalMonitor/JournalMonitor.cs b/JournalMonitor/JournalMonitor.cs index b64e96b34e..f4380f5953 100644 --- a/JournalMonitor/JournalMonitor.cs +++ b/JournalMonitor/JournalMonitor.cs @@ -1308,12 +1308,17 @@ public static List ParseJournalEntry(string line, bool fromLogLoad = fals ship.value = JsonParsing.getLong(shipData, "Value"); ship.hot = JsonParsing.getOptionalBool(shipData, "Hot") ?? false; ship.intransit = JsonParsing.getOptionalBool(shipData, "InTransit") ?? false; - ship.marketid = JsonParsing.getOptionalLong(shipData, "ShipMarketID") ?? marketId; ship.transferprice = JsonParsing.getOptionalLong(shipData, "TransferPrice"); ship.transfertime = JsonParsing.getOptionalLong(shipData, "TransferTime"); - var systemName = JsonParsing.getString(shipData, "StarSystem"); - ship.starsystem = systemName ?? system; + var shipSystemName = JsonParsing.getString(shipData, "StarSystem"); + var shipMarketID = JsonParsing.getOptionalLong( shipData, "ShipMarketID" ); + var stationWaypoint = EDDI.Instance.DataProvider.GetOrFetchStationWaypoint( + shipSystemName ?? system, shipMarketID ?? marketId ); + ship.StoredLocation = stationWaypoint is null + ? null + : new Ship.Location( stationWaypoint ); + ship.distance = ship.DistanceLY( EDDI.Instance.CurrentStarSystem ); shipyard.Add(ship); } } diff --git a/ShipMonitor/ConfigurationWindow.xaml b/ShipMonitor/ConfigurationWindow.xaml index c895dce3c7..06c336fee6 100644 --- a/ShipMonitor/ConfigurationWindow.xaml +++ b/ShipMonitor/ConfigurationWindow.xaml @@ -4,12 +4,44 @@ xmlns:System="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:eddi="clr-namespace:EddiDataDefinitions;assembly=EddiDataDefinitions" + xmlns:defs="clr-namespace:EddiDataDefinitions;assembly=EddiDataDefinitions" xmlns:local="clr-namespace:EddiShipMonitor" xmlns:resx="clr-namespace:EddiShipMonitor.Properties" xmlns:utility="clr-namespace:Utilities;assembly=Utilities" mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="800"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -41,10 +73,17 @@ - - - - + + + + + + + + + + + - - + + + + + + diff --git a/ShipMonitor/ConfigurationWindow.xaml.cs b/ShipMonitor/ConfigurationWindow.xaml.cs index 08cb9df334..062206fa5f 100644 --- a/ShipMonitor/ConfigurationWindow.xaml.cs +++ b/ShipMonitor/ConfigurationWindow.xaml.cs @@ -7,6 +7,7 @@ using System.Diagnostics; using System.Windows; using System.Windows.Controls; +using System.Windows.Controls.Primitives; using System.Windows.Data; using Utilities; @@ -160,5 +161,26 @@ private void PhoneticName_TextChanged(object sender, TextChangedEventArgs e) } } } + + private void RowDetailsButtonClick ( object sender, RoutedEventArgs e ) + { + if ( sender is ToggleButton toggleButton ) + { + DataGridRow selectedRow = DataGridRow.GetRowContainingElement(toggleButton); + if ( selectedRow != null ) + { + if ( toggleButton.IsChecked ?? false ) + { + toggleButton.Content = "⯆"; + selectedRow.DetailsVisibility = Visibility.Visible; + } + else + { + toggleButton.Content = "⯈"; + selectedRow.DetailsVisibility = Visibility.Collapsed; + } + } + } + } } } diff --git a/ShipMonitor/FrontierApi.cs b/ShipMonitor/FrontierApi.cs index da7d07061e..721dc17f02 100644 --- a/ShipMonitor/FrontierApi.cs +++ b/ShipMonitor/FrontierApi.cs @@ -17,7 +17,7 @@ public static class FrontierApi public static List ShipyardFromJson(Ship activeShip, dynamic json) { - List shipyard = new List(); + var shipyard = new List(); foreach (dynamic shipJson in json["ships"]) { @@ -25,31 +25,26 @@ public static List ShipyardFromJson(Ship activeShip, dynamic json) { // Take underlying value if present JObject shipObj = shipJson.Value ?? shipJson; - if (shipObj != null) + var ship = ShipFromJson(shipObj); + if (activeShip?.LocalId == ship.LocalId) { - Ship ship = ShipFromJson(shipObj); - if (activeShip?.LocalId == ship.LocalId) - { - // This is the active ship so add that instead - shipyard.Add(activeShip); - } - else + // This is the active ship so add that instead + shipyard.Add(activeShip); + } + else + { + if (shipObj["starsystem"] != null) { - if (shipObj["starsystem"] != null) - { - ship.starsystem = (string)shipObj["starsystem"]["name"]; - ship.station = (string)shipObj["station"]?["name"]; - - // Get the ship's coordinates for distance calculations - var storedShipStarSystem = EDDI.Instance.DataProvider.GetOrFetchSystemWaypoint(ship.starsystem); - if ( storedShipStarSystem != null ) - { - ship.x = storedShipStarSystem.x; - ship.y = storedShipStarSystem.y; - ship.z = storedShipStarSystem.z; - shipyard.Add( ship ); - } - } + // Get the ship's location for distance calculations + var shipSystemAddress = shipObj["starsystem"]["systemaddress"]?.ToObject(); + var shipMarketId = shipObj["station"]?["id"]?.ToObject(); + var stationWaypoint = shipSystemAddress is null || shipMarketId is null + ? null + : EDDI.Instance.DataProvider.GetOrFetchStationWaypoint( (ulong)shipSystemAddress, (long)shipMarketId ); + ship.StoredLocation = + stationWaypoint is null ? null : new Ship.Location( stationWaypoint ); + ship.distance = ship.DistanceLY( EDDI.Instance.CurrentStarSystem ); + shipyard.Add( ship ); } } } diff --git a/ShipMonitor/Properties/ShipMonitor.Designer.cs b/ShipMonitor/Properties/ShipMonitor.Designer.cs index e938874a24..512174587d 100644 --- a/ShipMonitor/Properties/ShipMonitor.Designer.cs +++ b/ShipMonitor/Properties/ShipMonitor.Designer.cs @@ -78,6 +78,24 @@ public static string export_it_button { } } + /// + /// Looks up a localized string similar to Show or hide additional details about the selected ship. + /// + public static string extra_details_tooltip { + get { + return ResourceManager.GetString("extra_details_tooltip", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Distance (LY). + /// + public static string header_distanceLY { + get { + return ResourceManager.GetString("header_distanceLY", resourceCulture); + } + } + /// /// Looks up a localized string similar to Status. /// @@ -141,6 +159,15 @@ public static string header_spoken_name { } } + /// + /// Looks up a localized string similar to Station. + /// + public static string header_station_name { + get { + return ResourceManager.GetString("header_station_name", resourceCulture); + } + } + /// /// Looks up a localized string similar to Value. /// diff --git a/ShipMonitor/Properties/ShipMonitor.resx b/ShipMonitor/Properties/ShipMonitor.resx index b2417166bd..cd51821ee4 100644 --- a/ShipMonitor/Properties/ShipMonitor.resx +++ b/ShipMonitor/Properties/ShipMonitor.resx @@ -183,4 +183,15 @@ EDDI can send an export of your ship's data to Coriolis or EDShipyard (3rd Party tools). Select the tool you prefer. + + Distance (LY) + Header column to indicate the distance of the ship in light years from your current location + + + Show or hide additional details about the selected ship + + + Station + Header column identifying stored ship station name + \ No newline at end of file diff --git a/ShipMonitor/ShipMonitor.cs b/ShipMonitor/ShipMonitor.cs index b55ee5b0d4..f29d8b2394 100644 --- a/ShipMonitor/ShipMonitor.cs +++ b/ShipMonitor/ShipMonitor.cs @@ -123,7 +123,11 @@ public void Save() public void PreHandle(Event @event) { // Handle the events that we care about - if (@event is CommanderContinuedEvent commanderContinuedEvent) + if ( @event is CarrierJumpedEvent carrierJumpedEvent ) + { + handleCarrierJumpedEvent( carrierJumpedEvent ); + } + else if (@event is CommanderContinuedEvent commanderContinuedEvent) { handleCommanderContinuedEvent(commanderContinuedEvent); } @@ -241,6 +245,26 @@ public void PreHandle(Event @event) } } + private void handleCarrierJumpedEvent ( CarrierJumpedEvent @event ) + { + if ( @event.timestamp > updatedAt ) + { + lock ( shipyardLock ) + { + foreach ( var ship in shipyard ) + { + if ( ship.StoredLocation.marketId == @event.carrierId ) + { + ship.StoredLocation = new Ship.Location( @event.systemname, @event.systemAddress, @event.x, + @event.y, @event.z, @event.carriername, @event.carrierId ); + ship.distance = ship.DistanceLY( EDDI.Instance.CurrentStarSystem ); + } + } + writeShips(); + } + } + } + // Set the ship name conditionally, avoiding filtered names private void setShipName(Ship ship, string name) { @@ -304,7 +328,7 @@ private void handleLocationEvent(LocationEvent @event) // Ignore current ship, since (obviously) it's not stored if (shipInYard.LocalId == currentShipId) { continue; } // Otherwise, update the distance to that ship - shipInYard.distance = shipInYard.Distance(@event.x, @event.y, @event.z); + shipInYard.distance = shipInYard.DistanceLY(@event.x, @event.y, @event.z); } if (!@event.fromLoad) { writeShips(); } } @@ -319,7 +343,7 @@ private void handleJumpedEvent(JumpedEvent @event) // Ignore current ship, since (obviously) it's not stored if (shipInYard.LocalId == currentShipId) { continue; } // Otherwise, update the distance to that ship - shipInYard.distance = shipInYard.Distance(@event.x, @event.y, @event.z); + shipInYard.distance = shipInYard.DistanceLY(@event.x, @event.y, @event.z); } if (!@event.fromLoad) { writeShips(); } } @@ -335,14 +359,10 @@ private void handleShipPurchasedEvent(ShipPurchasedEvent @event) { // We stored a ship - set its location to the current location var storedShip = GetShip(@event.storedshipid); - if (storedShip != null) + if (storedShip != null && EDDI.Instance.CurrentStarSystem != null) { // Set location of stored ship to the current system - storedShip.starsystem = EDDI.Instance?.CurrentStarSystem?.systemname; - storedShip.station = EDDI.Instance?.CurrentStation?.name; - storedShip.x = EDDI.Instance?.CurrentStarSystem?.x; - storedShip.y = EDDI.Instance?.CurrentStarSystem?.y; - storedShip.z = EDDI.Instance?.CurrentStarSystem?.z; + storedShip.StoredLocation = new Ship.Location( EDDI.Instance.CurrentStarSystem, EDDI.Instance?.CurrentStation?.name, EDDI.Instance?.CurrentStation?.marketId ); storedShip.distance = 0; } } @@ -385,12 +405,12 @@ private void handleShipSwappedEvent(ShipSwappedEvent @event) if (storedShip != null) { // Set location of stored ship to the current system - storedShip.starsystem = EDDI.Instance?.CurrentStarSystem?.systemname; - storedShip.station = EDDI.Instance?.CurrentStation?.name; - storedShip.x = EDDI.Instance?.CurrentStarSystem?.x; - storedShip.y = EDDI.Instance?.CurrentStarSystem?.y; - storedShip.z = EDDI.Instance?.CurrentStarSystem?.z; - storedShip.distance = 0; + if ( EDDI.Instance?.CurrentStarSystem != null ) + { + storedShip.StoredLocation = new Ship.Location( EDDI.Instance.CurrentStarSystem, + EDDI.Instance?.CurrentStation?.name, EDDI.Instance?.CurrentStation?.marketId ); + storedShip.distance = 0; + } } } else if (@event.soldshipid != null) @@ -605,18 +625,21 @@ private void handleStoredShipsEvent(StoredShipsEvent @event) if ( !string.IsNullOrEmpty( ship.starsystem ) ) { var systemData = quickSystems.FirstOrDefault( sys => sys.systemname == @event.system); - ship.station = systemData?.stations?.FirstOrDefault( s => s.marketId == ship.marketid )?.name; - ship.x = systemData?.x; - ship.y = systemData?.y; - ship.z = systemData?.z; - ship.distance = ship.Distance( EDDI.Instance?.CurrentStarSystem?.x, EDDI.Instance?.CurrentStarSystem?.y, EDDI.Instance?.CurrentStarSystem?.z ); + var stationData = systemData?.stations?.FirstOrDefault( s => s.marketId == ship.marketid ); + ship.StoredLocation = systemData is null || stationData is null + ? null + : new Ship.Location( systemData, stationData?.name, stationData?.marketId ); + ship.distance = ship.DistanceLY( EDDI.Instance?.CurrentStarSystem ); } else { - ship.station = EDDI.Instance?.CurrentStation?.name; - ship.x = EDDI.Instance?.CurrentStarSystem?.x; - ship.y = EDDI.Instance?.CurrentStarSystem?.y; - ship.z = EDDI.Instance?.CurrentStarSystem?.z; + ship.StoredLocation = + EDDI.Instance?.CurrentStarSystem is null || EDDI.Instance.CurrentStation is null + ? null + : new Ship.Location( + EDDI.Instance.CurrentStarSystem, + EDDI.Instance.CurrentStation.name, + EDDI.Instance.CurrentStation.marketId ); ship.distance = 0; } } @@ -643,12 +666,7 @@ private void handleStoredShipsEvent(StoredShipsEvent @event) shipInYard.value = shipInEvent.value; shipInYard.hot = shipInEvent.hot; shipInYard.intransit = shipInEvent.intransit; - shipInYard.starsystem = shipInEvent.starsystem; - shipInYard.marketid = shipInEvent.marketid; - shipInYard.station = shipInEvent.station; - shipInYard.x = shipInEvent.x; - shipInYard.y = shipInEvent.y; - shipInYard.z = shipInEvent.z; + shipInYard.StoredLocation = shipInEvent.StoredLocation; shipInYard.distance = shipInEvent.distance; shipInYard.transferprice = shipInEvent.transferprice; shipInYard.transfertime = shipInEvent.transfertime; @@ -1295,6 +1313,11 @@ public void HandleProfile(JObject profile) // This is a new ship, add it to the shipyard AddShip(profileShip); } + else + { + ship.StoredLocation = profileShip.StoredLocation; + ship.distance = ship.DistanceLY( EDDI.Instance.CurrentStarSystem ); + } } writeShips(); @@ -1527,11 +1550,7 @@ public void SetCurrentShip(int? localId, string EDName = null) Logging.Debug("Current ship ID is " + localId); currentShipId = ship.LocalId; // Location for the current ship is always null, as it's with us - ship.starsystem = null; - ship.station = null; - ship.x = null; - ship.y = null; - ship.z = null; + ship.StoredLocation = null; ship.distance = null; } EDDI.Instance.CurrentShip = ship; diff --git a/Tests/CommanderDataTests.cs b/Tests/CommanderDataTests.cs index a455d3722b..4bf827b6fc 100644 --- a/Tests/CommanderDataTests.cs +++ b/Tests/CommanderDataTests.cs @@ -5,6 +5,7 @@ using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; +using System.Text; namespace UnitTests { @@ -21,12 +22,22 @@ public void start () public void TestCommanderFromProfile() { EDDI.Instance.DataProvider = ConfigureTestDataProvider(); + fakeSpanshRestClient.Expect( "systems/field_values/system_names?q=TZ Arietis", @"{""min_max"":[{""id64"":13864825529761,""name"":""TZ Arietis"",""x"":-5.375,""y"":-10.59375,""z"":-8.5},{""id64"":58132918979256,""name"":""Arietis Sector TZ-W a2-3"",""x"":-104.46875,""y"":-42.53125,""z"":-191.15625},{""id64"":5067121632641,""name"":""Arietis Sector TZ-P b5-2"",""x"":-127.59375,""y"":-85.71875,""z"":-103.84375},{""id64"":2869172381065,""name"":""Arietis Sector TZ-O b6-1"",""x"":-59.96875,""y"":-23.84375,""z"":-80.8125},{""id64"":40540732934840,""name"":""Arietis Sector TZ-W a2-2"",""x"":-102.4375,""y"":-43.84375,""z"":-189.4375},{""id64"":5356360846008,""name"":""Arietis Sector TZ-W a2-0"",""x"":-100.625,""y"":-43.15625,""z"":-194.4375},{""id64"":5068195636617,""name"":""Arietis Sector TZ-O b6-2"",""x"":-62.46875,""y"":-23.03125,""z"":-84.40625},{""id64"":9465168143745,""name"":""Arietis Sector TZ-P b5-4"",""x"":-133.5625,""y"":-87.4375,""z"":-101.34375},{""id64"":11664191399297,""name"":""Arietis Sector TZ-P b5-5"",""x"":-133.125,""y"":-85.71875,""z"":-102.9375},{""id64"":7266144888193,""name"":""Arietis Sector TZ-P b5-3"",""x"":-128.34375,""y"":-86.34375,""z"":-101.125},{""id64"":22948546890424,""name"":""Arietis Sector TZ-W a2-1"",""x"":-99.90625,""y"":-44.375,""z"":-194.1875},{""id64"":670149125513,""name"":""Arietis Sector TZ-O b6-0"",""x"":-63.375,""y"":-20.375,""z"":-82.75},{""id64"":1773658701,""name"":""53 Arietis"",""x"":-196.84375,""y"":-461.09375,""z"":-664.0625},{""id64"":10426960155,""name"":""62 Arietis"",""x"":-277.875,""y"":-357.25,""z"":-759.28125},{""id64"":83382473354,""name"":""1 Arietis"",""x"":-289.21875,""y"":-361.9375,""z"":-358.15625},{""id64"":83650974346,""name"":""40 Arietis"",""x"":-135.6875,""y"":-271.0,""z"":-348.71875},{""id64"":83718148770,""name"":""36 Arietis"",""x"":-101.0,""y"":-202.6875,""z"":-250.46875},{""id64"":83718181546,""name"":""27 Arietis"",""x"":-96.75,""y"":-180.0,""z"":-203.875},{""id64"":1316130638171,""name"":""10 Arietis"",""x"":-79.09375,""y"":-88.21875,""z"":-105.875},{""id64"":2656177211747,""name"":""31 Arietis"",""x"":-29.0,""y"":-76.375,""z"":-78.53125}],""values"":[""TZ Arietis"",""Arietis Sector TZ-W a2-3"",""Arietis Sector TZ-P b5-2"",""Arietis Sector TZ-O b6-1"",""Arietis Sector TZ-W a2-2"",""Arietis Sector TZ-W a2-0"",""Arietis Sector TZ-O b6-2"",""Arietis Sector TZ-P b5-4"",""Arietis Sector TZ-P b5-5"",""Arietis Sector TZ-P b5-3"",""Arietis Sector TZ-W a2-1"",""Arietis Sector TZ-O b6-0"",""53 Arietis"",""62 Arietis"",""1 Arietis"",""40 Arietis"",""36 Arietis"",""27 Arietis"",""10 Arietis"",""31 Arietis""]}" ); fakeSpanshRestClient.Expect( "systems/field_values/system_names?q=Alectrona", @"{""min_max"":[{""id64"":9467047323049,""name"":""Alectrona"",""x"":14.53125,""y"":-52.46875,""z"":2.5625}],""values"":[""Alectrona""]}" ); fakeSpanshRestClient.Expect( "systems/field_values/system_names?q=LTT 1349", @"{""min_max"":[{""id64"":633675387594,""name"":""LTT 1349"",""x"":17.15625,""y"":-66.96875,""z"":-29.3125},{""id64"":1733120037586,""name"":""LTT 13490"",""x"":-1.8125,""y"":92.84375,""z"":-10.96875},{""id64"":2007930868426,""name"":""LTT 13497"",""x"":-38.03125,""y"":95.5625,""z"":-32.0},{""id64"":358730371810,""name"":""LTT 8260"",""x"":-3.625,""y"":-74.25,""z"":88.03125},{""id64"":560266758507,""name"":""LTT 3981"",""x"":96.625,""y"":62.6875,""z"":0.375},{""id64"":10494167403,""name"":""LTT 3799"",""x"":86.65625,""y"":59.78125,""z"":-17.625},{""id64"":83785421506,""name"":""LTT 10918"",""x"":-60.53125,""y"":-9.0625,""z"":-73.78125},{""id64"":83852563170,""name"":""LTT 6139"",""x"":7.375,""y"":43.15625,""z"":57.28125},{""id64"":84053856978,""name"":""LTT 2963"",""x"":106.59375,""y"":-22.1875,""z"":-11.09375},{""id64"":83315200690,""name"":""LTT 10174"",""x"":-340.46875,""y"":-561.84375,""z"":-156.40625},{""id64"":83919672010,""name"":""LTT 12033"",""x"":27.03125,""y"":18.53125,""z"":-59.4375},{""id64"":633675420386,""name"":""LTT 7370"",""x"":28.03125,""y"":-26.46875,""z"":58.21875},{""id64"":633474192074,""name"":""LTT 14474"",""x"":-68.0,""y"":60.46875,""z"":-28.40625},{""id64"":633608278754,""name"":""LTT 8318"",""x"":0.375,""y"":-84.21875,""z"":94.0},{""id64"":633608442578,""name"":""LTT 13470"",""x"":5.1875,""y"":102.84375,""z"":-9.21875},{""id64"":908553327298,""name"":""LTT 2042"",""x"":46.0,""y"":-62.78125,""z"":-73.65625},{""id64"":908620468954,""name"":""LTT 4586"",""x"":89.625,""y"":-12.125,""z"":51.4375},{""id64"":354074724707,""name"":""LTT 760"",""x"":-9.25,""y"":-115.875,""z"":-26.15625},{""id64"":354074741099,""name"":""LTT 740"",""x"":-3.75,""y"":-104.15625,""z"":-18.6875},{""id64"":354074757491,""name"":""LTT 6705"",""x"":-6.78125,""y"":35.59375,""z"":113.75}],""values"":[""LTT 1349"",""LTT 13490"",""LTT 13497"",""LTT 8260"",""LTT 3981"",""LTT 3799"",""LTT 10918"",""LTT 6139"",""LTT 2963"",""LTT 10174"",""LTT 12033"",""LTT 7370"",""LTT 14474"",""LTT 8318"",""LTT 13470"",""LTT 2042"",""LTT 4586"",""LTT 760"",""LTT 740"",""LTT 6705""]}" ); fakeSpanshRestClient.Expect( "systems/field_values/system_names?q=Kaushpoos", @"{""min_max"":[{""id64"":5069001205129,""name"":""Kaushpoos"",""x"":-1.90625,""y"":65.1875,""z"":-79.65625}],""values"":[""Kaushpoos""]}" ); - JObject json = DeserializeJsonResource( Tests.Properties.Resources.capi_profile ); + fakeSpanshRestClient.Expect( "system/13864825529761", + Encoding.UTF8.GetString( Tests.Properties.Resources.SpanshQuickStarSystemTz_Arietis ) ); + fakeSpanshRestClient.Expect( "system/9467047323049", + Encoding.UTF8.GetString( Tests.Properties.Resources.SpanshQuickStarSystemAlectrona ) ); + fakeSpanshRestClient.Expect( "system/633675387594", + Encoding.UTF8.GetString( Tests.Properties.Resources.SpanshQuickStarSystemLTT_1349 ) ); + fakeSpanshRestClient.Expect( "system/5069001205129", + Encoding.UTF8.GetString( Tests.Properties.Resources.SpanshQuickStarSystemKaushpoos ) ); + + var json = DeserializeJsonResource( Tests.Properties.Resources.capi_profile ); var profile = FrontierApiProfile.FromJson(json); Ship ship = FrontierApi.ShipFromJson((JObject)json["ship"]); diff --git a/Tests/DataProviderTests.cs b/Tests/DataProviderTests.cs index 7bceb77ddf..83c84408c1 100644 --- a/Tests/DataProviderTests.cs +++ b/Tests/DataProviderTests.cs @@ -22,22 +22,19 @@ public void start() [TestMethod] public void TestSqlRepositoryPresent() { - var starSystemRepository = StarSystemSqLiteRepository.Instance; - - var DBData = starSystemRepository.GetSqlStarSystem( 10477373803U ); - if ( DBData is null ) - { - starSystemRepository.SaveStarSystem( DeserializeJsonResource( Resources.sqlStarSystem6 ) ); - DBData = starSystemRepository.GetSqlStarSystem( 10477373803U ); - } - Assert.IsNotNull(DBData); - Assert.AreEqual("Sol", DBData.systemName); + EDDI.Instance.DataProvider = new DataProviderService(); + var starSystemRepository = EDDI.Instance.DataProvider.starSystemRepository; + starSystemRepository.SaveStarSystem( DeserializeJsonResource( Resources.sqlStarSystem6 ) ); + var dbData = starSystemRepository.GetSqlStarSystem( 10477373803U ); + Assert.IsNotNull(dbData); + Assert.AreEqual("Sol", dbData.systemName); } [TestMethod] public void TestSqlRepositoryMissing() { - var starSystemRepository = StarSystemSqLiteRepository.Instance; + EDDI.Instance.DataProvider = new DataProviderService(); + var starSystemRepository = EDDI.Instance.DataProvider.starSystemRepository; var DBData = starSystemRepository.GetSqlStarSystem(0); Assert.IsNull(DBData); } diff --git a/Tests/EddnTests.cs b/Tests/EddnTests.cs index bfdf615685..7bb5d885cb 100644 --- a/Tests/EddnTests.cs +++ b/Tests/EddnTests.cs @@ -26,12 +26,12 @@ public void start() private EDDNResponder makeTestEDDNResponder() { EDDI.Instance.DataProvider = ConfigureTestDataProvider(); - fakeSpanshRestClient.Expect( "search?q=2724879894859", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemPleiadesSector_HR_W_d1_79 ) ); - fakeSpanshRestClient.Expect( "search?q=1183229809290", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemPleiadesSector_GW_W_c1_4 ) ); - fakeSpanshRestClient.Expect( "search?q=10477373803", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemSol ) ); - fakeSpanshRestClient.Expect( "search?q=5068463809865", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemHyadesSector_DL_X_b1_2 ) ); - fakeSpanshRestClient.Expect( "search?q=35835461971465", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemOmegaSector_DM_M_b7_16 ) ); - fakeSpanshRestClient.Expect( "search?q=3107509474002", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemArtemis ) ); + fakeSpanshRestClient.Expect( "system/2724879894859", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemPleiadesSector_HR_W_d1_79 ) ); + fakeSpanshRestClient.Expect( "system/1183229809290", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemPleiadesSector_GW_W_c1_4 ) ); + fakeSpanshRestClient.Expect( "system/10477373803", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemSol ) ); + fakeSpanshRestClient.Expect( "system/5068463809865", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemHyadesSector_DL_X_b1_2 ) ); + fakeSpanshRestClient.Expect( "system/35835461971465", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemOmegaSector_DM_M_b7_16 ) ); + fakeSpanshRestClient.Expect( "system/3107509474002", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemArtemis ) ); var responder = new EDDNResponder(true); return responder; diff --git a/Tests/Properties/Resources.Designer.cs b/Tests/Properties/Resources.Designer.cs index 13f4abcb33..41f980ba66 100644 --- a/Tests/Properties/Resources.Designer.cs +++ b/Tests/Properties/Resources.Designer.cs @@ -360,6 +360,16 @@ public static byte[] SpanshQuickStarSystemAchenar { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] SpanshQuickStarSystemAlectrona { + get { + object obj = ResourceManager.GetObject("SpanshQuickStarSystemAlectrona", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// @@ -390,6 +400,26 @@ public static byte[] SpanshQuickStarSystemHyadesSector_DL_X_b1_2 { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] SpanshQuickStarSystemKaushpoos { + get { + object obj = ResourceManager.GetObject("SpanshQuickStarSystemKaushpoos", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] SpanshQuickStarSystemLTT_1349 { + get { + object obj = ResourceManager.GetObject("SpanshQuickStarSystemLTT_1349", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// @@ -430,6 +460,16 @@ public static byte[] SpanshQuickStarSystemSol { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] SpanshQuickStarSystemTz_Arietis { + get { + object obj = ResourceManager.GetObject("SpanshQuickStarSystemTz_Arietis", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// diff --git a/Tests/Properties/Resources.resx b/Tests/Properties/Resources.resx index f9c4b9b26b..b26046ff55 100644 --- a/Tests/Properties/Resources.resx +++ b/Tests/Properties/Resources.resx @@ -304,4 +304,16 @@ SpanshStarSystemDumpCarthage.json;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + SpanshQuickStarSystemAlectrona.json;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SpanshQuickStarSystemTz_Arietis.json;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SpanshQuickStarSystemLTT_1349.json;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SpanshQuickStarSystemKaushpoos.json;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/Tests/Properties/SpanshQuickStarSystemAchenar.json b/Tests/Properties/SpanshQuickStarSystemAchenar.json index 6b641c4425..67213d89fd 100644 --- a/Tests/Properties/SpanshQuickStarSystemAchenar.json +++ b/Tests/Properties/SpanshQuickStarSystemAchenar.json @@ -1,634 +1,594 @@ { - "count": 2, - "query": "164098653", - "results": [ - { - "record": { - "allegiance": "Empire", - "bodies": [ - { - "distance_to_arrival": 0, - "estimated_mapping_value": 5138, - "estimated_scan_value": 1375, - "id": 164098653, - "id64": 164098653, - "is_main_star": true, - "name": "Achenar", - "subtype": "B (Blue-White) Star", - "type": "Star" - }, - { - "distance_to_arrival": 755.493802, - "estimated_mapping_value": 106848, - "estimated_scan_value": 29408, - "id": 36028797183062620, - "id64": 36028797183062620, - "is_main_star": null, - "name": "Achenar 1", - "subtype": "Metal-rich body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1261.485052, - "estimated_mapping_value": 125789, - "estimated_scan_value": 34621, - "id": 72057594202026600, - "id64": 72057594202026600, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 6, - "subtype": "Sulphur Dioxide Gas Vent", - "type": "Gas Vent", - "value": 0 - }, - { - "count": 1, - "subtype": "Tourist Beacon", - "type": "Tourist Beacon", - "value": 0 - }, - { - "count": 7, - "subtype": "Sulphur Dioxide Fumarole", - "type": "Fumarole", - "value": 0 - } - ], - "name": "Achenar 2", - "subtype": "Metal-rich body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 2336.242207, - "estimated_mapping_value": 76815, - "estimated_scan_value": 21142, - "id": 108086391220990560, - "id64": 108086391220990560, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 18, - "subtype": "Silicate Vapour Fumarole", - "type": "Fumarole", - "value": 0 - }, - { - "count": 14, - "subtype": "Silicate Magma Lava Spout", - "type": "Lava Spout", - "value": 0 - }, - { - "count": 12, - "subtype": "Silicate Vapour Gas Vent", - "type": "Gas Vent", - "value": 0 - }, - { - "count": 1, - "subtype": "Surface Station", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Achenar 3", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 5831.373872, - "estimated_mapping_value": 3018, - "estimated_scan_value": 739, - "id": 144115188239954530, - "id64": 144115188239954530, - "is_main_star": null, - "name": "Achenar 4", - "subtype": "Class III gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 5828.392867, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 180143985258918500, - "id64": 180143985258918500, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 2, - "subtype": "Crater Outpost", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Achenar 4a", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 12555.967687, - "estimated_mapping_value": 53503, - "estimated_scan_value": 14726, - "id": 216172782277882460, - "id64": 216172782277882460, - "is_main_star": null, - "name": "Achenar 5", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 20808.514708, - "estimated_mapping_value": 4184, - "estimated_scan_value": 1089, - "id": 252201579296846430, - "id64": 252201579296846430, - "is_main_star": null, - "name": "Achenar 6", - "subtype": "Class III gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 20800.218798, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 288230376315810370, - "id64": 288230376315810370, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 3, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 1, - "subtype": "Tourist Beacon", - "type": "Tourist Beacon", - "value": 0 - }, - { - "count": 1, - "subtype": "Crater Outpost", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Yamaha's Grave", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 20788.098814, - "estimated_mapping_value": 928014, - "estimated_scan_value": 255417, - "id": 324259173334774340, - "id64": 324259173334774340, - "is_main_star": null, - "name": "New World", - "subtype": "Earth-like world", - "terraforming_state": "Terraformed", - "type": "Planet" - }, - { - "distance_to_arrival": 20748.481652, - "estimated_mapping_value": 998711, - "estimated_scan_value": 274875, - "id": 360287970353738300, - "id64": 360287970353738300, - "is_main_star": null, - "name": "Conversion", - "subtype": "Earth-like world", - "terraforming_state": "Terraformed", - "type": "Planet" - }, - { - "distance_to_arrival": 20928.087955, - "estimated_mapping_value": 1080785, - "estimated_scan_value": 297464, - "id": 396316767372702300, - "id64": 396316767372702300, - "is_main_star": null, - "name": "Capitol", - "subtype": "Earth-like world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, + "record": { + "allegiance": "Empire", + "bodies": [ + { + "distance_to_arrival": 0, + "estimated_mapping_value": 5138, + "estimated_scan_value": 1375, + "id": 164098653, + "id64": 164098653, + "is_main_star": true, + "name": "Achenar", + "subtype": "B (Blue-White) Star", + "type": "Star" + }, + { + "distance_to_arrival": 755.493802, + "estimated_mapping_value": 106848, + "estimated_scan_value": 29408, + "id": 36028797183062620, + "id64": 36028797183062620, + "is_main_star": null, + "name": "Achenar 1", + "subtype": "Metal-rich body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1261.485052, + "estimated_mapping_value": 125789, + "estimated_scan_value": 34621, + "id": 72057594202026600, + "id64": 72057594202026600, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 42367.530418, - "estimated_mapping_value": 81647, - "estimated_scan_value": 22472, - "id": 432345564391666240, - "id64": 432345564391666240, - "is_main_star": null, - "name": "Achenar 7", - "subtype": "Class II gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 6, + "subtype": "Sulphur Dioxide Gas Vent", + "type": "Gas Vent", + "value": 0 }, { - "distance_to_arrival": 119254.239502, - "estimated_mapping_value": 14481, - "estimated_scan_value": 3986, - "id": 468374361410630200, - "id64": 468374361410630200, - "is_main_star": null, - "name": "Achenar 8", - "subtype": "Class I gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 1, + "subtype": "Tourist Beacon", + "type": "Tourist Beacon", + "value": 0 }, { - "distance_to_arrival": 202596.085251, - "estimated_mapping_value": 4648, - "estimated_scan_value": 1228, - "id": 504403158429594200, - "id64": 504403158429594200, - "is_main_star": null, - "name": "Achenar 9", - "subtype": "Class IV gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 7, + "subtype": "Sulphur Dioxide Fumarole", + "type": "Fumarole", + "value": 0 } ], - "body_count": 15, - "controlling_minor_faction": "Achenar Empire League", - "controlling_minor_faction_state": "None", - "controlling_power": "A. Lavigny-Duval", - "estimated_mapping_value": 3488023, - "estimated_scan_value": 959542, - "government": "Patronage", - "id64": 164098653, - "known_permit": true, + "name": "Achenar 2", + "subtype": "Metal-rich body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2336.242207, + "estimated_mapping_value": 76815, + "estimated_scan_value": 21142, + "id": 108086391220990560, + "id64": 108086391220990560, + "is_main_star": null, "landmark_value": 0, - "minor_faction_presences": [ + "landmarks": [ { - "influence": 0.063126, - "name": "Achenar Comms Co", - "state": "None" + "count": 18, + "subtype": "Silicate Vapour Fumarole", + "type": "Fumarole", + "value": 0 }, { - "influence": 0.633267, - "name": "Achenar Empire League", - "state": "None" + "count": 14, + "subtype": "Silicate Magma Lava Spout", + "type": "Lava Spout", + "value": 0 }, { - "influence": 0.074148, - "name": "Achenar Empire Party", - "state": "None" + "count": 12, + "subtype": "Silicate Vapour Gas Vent", + "type": "Gas Vent", + "value": 0 }, { - "influence": 0.06513, - "name": "Achenar Jet Organisation", - "state": "None" - }, - { - "influence": 0.05511, - "name": "Achenar Universal Incorporated", - "state": "None" - }, - { - "influence": 0.01002, - "name": "Free Marlinists of Carinae", - "state": "None" - }, - { - "influence": 0.099198, - "name": "United Condovichs Freedom Party", - "state": "None" + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 } ], - "name": "Achenar", - "needs_permit": true, - "population": 16380054761, - "power": [ - "A. Lavigny-Duval", - "Aisling Duval" - ], - "power_state": "Stronghold", - "primary_economy": "Refinery", - "region": "Inner Orion Spur", - "secondary_economy": "Service", - "security": "High", - "stations": [ - { - "distance_to_arrival": 20791.639294, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 9, - "market_id": 128048896, - "medium_pads": 18, - "name": "Bell Terminal", - "small_pads": 17, - "type": "Orbis Starport" - }, - { - "distance_to_arrival": 12556.053039, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3222038784, - "medium_pads": 1, - "name": "Wilson Vision", - "small_pads": 4, - "type": "Outpost" - }, - { - "distance_to_arrival": 20782.345953, - "has_large_pad": false, - "has_market": true, - "has_outfitting": true, - "market_id": 128975985, - "name": "Rescue Ship - Dawes Hub", - "type": "Mega ship" - }, - { - "distance_to_arrival": 42367.812112, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3222039040, - "medium_pads": 1, - "name": "Peters City", - "small_pads": 2, - "type": "Outpost" - }, - { - "distance_to_arrival": 119254.532044, - "has_large_pad": false, - "has_market": true, - "has_outfitting": true, - "large_pads": 0, - "market_id": 3222039296, - "medium_pads": 1, - "name": "Kagawa Station", - "small_pads": 4, - "type": "Outpost" - }, - { - "distance_to_arrival": 20929.505454, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 9, - "market_id": 3222038272, - "medium_pads": 18, - "name": "Dawes Hub", - "small_pads": 17, - "type": "Orbis Starport" - }, - { - "distance_to_arrival": 2336.252973, - "has_large_pad": false, - "large_pads": 0, - "market_id": 3222038528, - "medium_pads": 1, - "name": "Jones Dock", - "small_pads": 2, - "type": "Outpost" - }, - { - "distance_to_arrival": 20795.950259, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 9, - "market_id": 128048640, - "medium_pads": 18, - "name": "Baker Terminal", - "small_pads": 17, - "type": "Coriolis Starport" - }, - { - "distance_to_arrival": 20750.485068, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 9, - "market_id": 128049674, - "medium_pads": 18, - "name": "Macmillan Terminal", - "small_pads": 17, - "type": "Orbis Starport" - }, - { - "distance_to_arrival": 755.480458, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "large_pads": 1, - "market_id": 128977777, - "medium_pads": 2, - "name": "Fairfax Vision", - "small_pads": 4, - "type": "Mega ship" - }, - { - "distance_to_arrival": 755.493802, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 2, - "market_id": 3930437889, - "medium_pads": 4, - "name": "Stronghold Carrier", - "small_pads": 4, - "type": "Planetary Outpost" - }, - { - "distance_to_arrival": 2336.242207, - "has_large_pad": false, - "market_id": 3504577792, - "name": "Brill Works" - }, - { - "distance_to_arrival": 5828.392867, - "has_large_pad": false, - "market_id": 3504578560, - "name": "Zhuravleva Relay ++" - }, - { - "distance_to_arrival": 5828.392867, - "has_large_pad": false, - "market_id": 3504578304, - "name": "Hoffleit Landing" - }, - { - "distance_to_arrival": 5831.585385, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "large_pads": 4, - "market_id": 3504578048, - "medium_pads": 4, - "name": "Greenstein Silo", - "small_pads": 4, - "type": "Planetary Outpost" - }, - { - "distance_to_arrival": 5830.767908, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "large_pads": 3, - "market_id": 128680839, - "medium_pads": 3, - "name": "Fortune's Loss", - "small_pads": 2, - "type": "Planetary Outpost" - }, - { - "distance_to_arrival": 5833.034582, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3805222400, - "medium_pads": 0, - "name": "Hogan Agricultural Biome", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 5830.527746, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3805222912, - "medium_pads": 1, - "name": "Acharya Arms Site", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 5828.698339, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3805222656, - "medium_pads": 0, - "name": "Arba Botanical Estate", - "small_pads": 1, - "type": "Settlement" - }, + "name": "Achenar 3", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 5831.373872, + "estimated_mapping_value": 3018, + "estimated_scan_value": 739, + "id": 144115188239954530, + "id64": 144115188239954530, + "is_main_star": null, + "name": "Achenar 4", + "subtype": "Class III gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 5829.925415, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 180143985258918500, + "id64": 180143985258918500, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 20800.218798, - "has_large_pad": false, - "market_id": 3504578816, - "name": "Friedman Holdings" + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 20801.479606, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3805221632, - "medium_pads": 1, - "name": "Nishimura's Haunt", - "small_pads": 0, - "type": "Settlement" - }, + "count": 2, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Achenar 4a", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 12555.967687, + "estimated_mapping_value": 53503, + "estimated_scan_value": 14726, + "id": 216172782277882460, + "id64": 216172782277882460, + "is_main_star": null, + "name": "Achenar 5", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 20808.514708, + "estimated_mapping_value": 4184, + "estimated_scan_value": 1089, + "id": 252201579296846430, + "id64": 252201579296846430, + "is_main_star": null, + "name": "Achenar 6", + "subtype": "Class III gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 20811.877916, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 288230376315810370, + "id64": 288230376315810370, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 20801.558481, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3805222144, - "medium_pads": 0, - "name": "Suk Horticultural Garden", - "small_pads": 1, - "type": "Settlement" + "count": 4, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 20799.687647, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3805221888, - "medium_pads": 0, - "name": "Tuvey Nutrition Base", - "small_pads": 1, - "type": "Settlement" + "count": 1, + "subtype": "Tourist Beacon", + "type": "Tourist Beacon", + "value": 0 }, { - "distance_to_arrival": 20795.131315, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "large_pads": 4, - "market_id": 3504577536, - "medium_pads": 4, - "name": "Baynes Horizons", - "small_pads": 4, - "type": "Planetary Outpost" + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 } ], - "thargoid_war_failure_state": "None", - "thargoid_war_state": "None", - "thargoid_war_success_state": "None", - "updated_at": "2024-12-07 21:19:04+00", - "x": 67.5, - "y": -119.46875, - "z": 24.84375 - }, - "type": "system" - }, - { - "record": { - "age": 2, - "atmosphere": "No atmosphere", - "axis_tilt": 0.073172, - "body_id": 0, - "distance_to_arrival": 0, - "estimated_mapping_value": 5138, - "estimated_scan_value": 1375, - "id64": 164098653, - "is_main_star": true, - "is_rotational_period_tidally_locked": false, - "luminosity_class": "V", - "name": "Achenar", - "rotational_period": 1.59499205984954, - "solar_masses": 9.714844, - "solar_radius": 4.06927477785766, - "spectral_class": "B6", - "subtype": "B (Blue-White) Star", - "surface_temperature": 23624, - "system_controlling_power": "A. Lavigny-Duval", - "system_id64": 164098653, - "system_name": "Achenar", - "system_power_state": "Stronghold", - "system_region": "Inner Orion Spur", - "system_x": 67.5, - "system_y": -119.46875, - "system_z": 24.84375, - "type": "Star", - "updated_at": "2024-12-07 21:19:04+00" - }, - "type": "body" - } - ] + "name": "Yamaha's Grave", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 20838.043807, + "estimated_mapping_value": 928014, + "estimated_scan_value": 255417, + "id": 324259173334774340, + "id64": 324259173334774340, + "is_main_star": null, + "name": "New World", + "subtype": "Earth-like world", + "terraforming_state": "Terraformed", + "type": "Planet" + }, + { + "distance_to_arrival": 20787.44961, + "estimated_mapping_value": 998711, + "estimated_scan_value": 274875, + "id": 360287970353738300, + "id64": 360287970353738300, + "is_main_star": null, + "name": "Conversion", + "subtype": "Earth-like world", + "terraforming_state": "Terraformed", + "type": "Planet" + }, + { + "distance_to_arrival": 20947.409127, + "estimated_mapping_value": 1080785, + "estimated_scan_value": 297464, + "id": 396316767372702300, + "id64": 396316767372702300, + "is_main_star": null, + "name": "Capitol", + "subtype": "Earth-like world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 42367.530418, + "estimated_mapping_value": 81647, + "estimated_scan_value": 22472, + "id": 432345564391666240, + "id64": 432345564391666240, + "is_main_star": null, + "name": "Achenar 7", + "subtype": "Class II gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 119254.239502, + "estimated_mapping_value": 14481, + "estimated_scan_value": 3986, + "id": 468374361410630200, + "id64": 468374361410630200, + "is_main_star": null, + "name": "Achenar 8", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 202596.085251, + "estimated_mapping_value": 4648, + "estimated_scan_value": 1228, + "id": 504403158429594200, + "id64": 504403158429594200, + "is_main_star": null, + "name": "Achenar 9", + "subtype": "Class IV gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + } + ], + "body_count": 15, + "controlling_minor_faction": "Achenar Empire League", + "controlling_minor_faction_state": "Boom", + "controlling_power": "A. Lavigny-Duval", + "estimated_mapping_value": 3488023, + "estimated_scan_value": 959542, + "government": "Patronage", + "id64": 164098653, + "known_permit": true, + "landmark_value": 0, + "minor_faction_presences": [ + { + "influence": 0.047379, + "name": "Achenar Comms Co", + "state": "None" + }, + { + "influence": 0.673387, + "name": "Achenar Empire League", + "state": "Boom" + }, + { + "influence": 0.050403, + "name": "Achenar Empire Party", + "state": "None" + }, + { + "influence": 0.081653, + "name": "Achenar Jet Organisation", + "state": "None" + }, + { + "influence": 0.065524, + "name": "Achenar Universal Incorporated", + "state": "None" + }, + { + "influence": 0.010081, + "name": "Free Marlinists of Carinae", + "state": "Retreat" + }, + { + "influence": 0.071573, + "name": "United Condovichs Freedom Party", + "state": "None" + } + ], + "name": "Achenar", + "needs_permit": true, + "population": 16380054761, + "power": [ + "A. Lavigny-Duval", + "Aisling Duval" + ], + "power_state": "Stronghold", + "primary_economy": "Refinery", + "region": "Inner Orion Spur", + "secondary_economy": "Service", + "security": "High", + "stations": [ + { + "distance_to_arrival": 12555.903403, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3222038784, + "medium_pads": 1, + "name": "Wilson Vision", + "small_pads": 4, + "type": "Outpost" + }, + { + "distance_to_arrival": 20782.345953, + "has_large_pad": false, + "has_market": true, + "has_outfitting": true, + "market_id": 128975985, + "name": "Rescue Ship - Dawes Hub", + "type": "Mega ship" + }, + { + "distance_to_arrival": 20786.653945, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 9, + "market_id": 128049674, + "medium_pads": 18, + "name": "Macmillan Terminal", + "small_pads": 17, + "type": "Orbis Starport" + }, + { + "distance_to_arrival": 42367.555244, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3222039040, + "medium_pads": 1, + "name": "Peters City", + "small_pads": 2, + "type": "Outpost" + }, + { + "distance_to_arrival": 119253.494733, + "has_large_pad": false, + "has_market": true, + "has_outfitting": true, + "large_pads": 0, + "market_id": 3222039296, + "medium_pads": 1, + "name": "Kagawa Station", + "small_pads": 4, + "type": "Outpost" + }, + { + "distance_to_arrival": 20813.58585, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 9, + "market_id": 128048640, + "medium_pads": 18, + "name": "Baker Terminal", + "small_pads": 17, + "type": "Coriolis Starport" + }, + { + "distance_to_arrival": 20837.69777, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 9, + "market_id": 128048896, + "medium_pads": 18, + "name": "Bell Terminal", + "small_pads": 17, + "type": "Orbis Starport" + }, + { + "distance_to_arrival": 2336.275849, + "has_large_pad": false, + "large_pads": 0, + "market_id": 3222038528, + "medium_pads": 1, + "name": "Jones Dock", + "small_pads": 2, + "type": "Outpost" + }, + { + "distance_to_arrival": 20947.737681, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 9, + "market_id": 3222038272, + "medium_pads": 18, + "name": "Dawes Hub", + "small_pads": 17, + "type": "Orbis Starport" + }, + { + "distance_to_arrival": 755.480114, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 1, + "market_id": 128977777, + "medium_pads": 2, + "name": "Fairfax Vision", + "small_pads": 4, + "type": "Mega ship" + }, + { + "distance_to_arrival": 755.493802, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 2, + "market_id": 3930437889, + "medium_pads": 4, + "name": "Stronghold Carrier", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 2336.242207, + "has_large_pad": false, + "market_id": 3504577792, + "name": "Brill Works" + }, + { + "distance_to_arrival": 5829.925415, + "has_large_pad": false, + "market_id": 3504578560, + "name": "Zhuravleva Relay ++" + }, + { + "distance_to_arrival": 5829.925415, + "has_large_pad": false, + "market_id": 3504578304, + "name": "Hoffleit Landing" + }, + { + "distance_to_arrival": 5830.488798, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3805222400, + "medium_pads": 0, + "name": "Hogan Agricultural Biome", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 5830.527746, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3805222912, + "medium_pads": 1, + "name": "Acharya Arms Site", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 5828.698339, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3805222656, + "medium_pads": 0, + "name": "Arba Botanical Estate", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 5831.157334, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 3, + "market_id": 128680839, + "medium_pads": 3, + "name": "Fortune's Loss", + "small_pads": 2, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 5828.909943, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 4, + "market_id": 3504578048, + "medium_pads": 4, + "name": "Greenstein Silo", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 20811.877916, + "has_large_pad": false, + "market_id": 3504578816, + "name": "Friedman Holdings" + }, + { + "distance_to_arrival": 20813.032345, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3805221632, + "medium_pads": 1, + "name": "Nishimura's Haunt", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 20801.558481, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3805222144, + "medium_pads": 0, + "name": "Suk Horticultural Garden", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 20796.683927, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3805221888, + "medium_pads": 0, + "name": "Tuvey Nutrition Base", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 20795.131315, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 4, + "market_id": 3504577536, + "medium_pads": 4, + "name": "Baynes Horizons", + "small_pads": 4, + "type": "Planetary Outpost" + } + ], + "thargoid_war_failure_state": "None", + "thargoid_war_state": "None", + "thargoid_war_success_state": "None", + "updated_at": "2025-01-04 03:50:10+00", + "x": 67.5, + "y": -119.46875, + "z": 24.84375 + } } \ No newline at end of file diff --git a/Tests/Properties/SpanshQuickStarSystemAlectrona.json b/Tests/Properties/SpanshQuickStarSystemAlectrona.json new file mode 100644 index 0000000000..d28a0b2c67 --- /dev/null +++ b/Tests/Properties/SpanshQuickStarSystemAlectrona.json @@ -0,0 +1,1420 @@ +{ + "record": { + "allegiance": "Independent", + "bodies": [ + { + "distance_to_arrival": 0, + "estimated_mapping_value": 4578, + "estimated_scan_value": 1207, + "id": 9467047323049, + "id64": 9467047323049, + "is_main_star": true, + "name": "Alectrona", + "subtype": "M (Red dwarf) Star", + "type": "Star" + }, + { + "distance_to_arrival": 318.934977, + "estimated_mapping_value": 2451, + "estimated_scan_value": 569, + "id": 216182249161106850, + "id64": 216182249161106850, + "is_main_star": null, + "name": "Alectrona 1", + "subtype": "Gas giant with ammonia-based life", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 316.818015, + "estimated_mapping_value": 10241, + "estimated_scan_value": 2819, + "id": 288239843199034800, + "id64": 288239843199034800, + "is_main_star": null, + "name": "Alectrona 2", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 316.483894, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 396326234255926700, + "id64": 396326234255926700, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 2, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + }, + { + "count": 9, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 14, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 + }, + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Installation", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alectrona 2 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 449.775167, + "estimated_mapping_value": 105802, + "estimated_scan_value": 29120, + "id": 468383828293854660, + "id64": 468383828293854660, + "is_main_star": null, + "name": "Alectrona 3", + "subtype": "Class II gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 448.756595, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 504412625312818600, + "id64": 504412625312818600, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 2, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 + }, + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alectrona 3 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 449.537118, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 540441422331782600, + "id64": 540441422331782600, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 1, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "Alectrona 3 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 447.18691, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 576470219350746500, + "id64": 576470219350746500, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 2, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Carbon Dioxide Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 + }, + { + "count": 2, + "subtype": "Carbon Dioxide Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "Alectrona 3 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 446.55601, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 612499016369710500, + "id64": 612499016369710500, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alectrona 3 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 451.936664, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 648527813388674400, + "id64": 648527813388674400, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 3, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alectrona 3 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 431.529325, + "estimated_mapping_value": 2261, + "estimated_scan_value": 512, + "id": 684556610407638400, + "id64": 684556610407638400, + "is_main_star": null, + "name": "Alectrona 4", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1068.777401, + "estimated_mapping_value": 3984, + "estimated_scan_value": 1029, + "id": 756614204445566300, + "id64": 756614204445566300, + "is_main_star": null, + "name": "Alectrona 5", + "subtype": "Class III gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1068.587474, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 864700595502458200, + "id64": 864700595502458200, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 2, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 2, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "Alectrona 5 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1071.452533, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 900729392521422200, + "id64": 900729392521422200, + "is_main_star": null, + "name": "Alectrona 5 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1066.551914, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 936758189540386200, + "id64": 936758189540386200, + "is_main_star": null, + "name": "Alectrona 5 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1059.447459, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.0088157835783141e+18, + "id64": 1.0088157835783141e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Ammonia Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 3, + "subtype": "Ammonia Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "Alectrona 5 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1059.504522, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.0448445805972781e+18, + "id64": 1.0448445805972781e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 2, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Ammonia Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + }, + { + "count": 3, + "subtype": "Ammonia Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "Alectrona 5 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 964.122715, + "estimated_mapping_value": 12737, + "estimated_scan_value": 3506, + "id": 1.080873377616242e+18, + "id64": 1.080873377616242e+18, + "is_main_star": null, + "name": "Alectrona 6", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1454.954727, + "estimated_mapping_value": 17449, + "estimated_scan_value": 4803, + "id": 1.188959768673134e+18, + "id64": 1.188959768673134e+18, + "is_main_star": null, + "name": "Alectrona 7", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1458.075322, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.224988565692098e+18, + "id64": 1.224988565692098e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alectrona 7 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1453.677024, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.297046159730026e+18, + "id64": 1.297046159730026e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 2, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "Alectrona 7 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1453.603181, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.33307495674899e+18, + "id64": 1.33307495674899e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Carbon Dioxide Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 2, + "subtype": "Carbon Dioxide Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "Alectrona 7 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1443.577705, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.369103753767954e+18, + "id64": 1.369103753767954e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alectrona 7 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1807.420147, + "estimated_mapping_value": 15568, + "estimated_scan_value": 4285, + "id": 1.4771901448248458e+18, + "id64": 1.4771901448248458e+18, + "is_main_star": null, + "name": "Alectrona 8", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1807.118046, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.5852765358817377e+18, + "id64": 1.5852765358817377e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 1, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "Alectrona 8 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1805.595036, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.6213053329007017e+18, + "id64": 1.6213053329007017e+18, + "is_main_star": null, + "name": "Alectrona 8 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1806.578077, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.6573341299196657e+18, + "id64": 1.6573341299196657e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alectrona 8 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1803.893535, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.6933629269386296e+18, + "id64": 1.6933629269386296e+18, + "is_main_star": null, + "name": "Alectrona 8 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1720.846933, + "estimated_mapping_value": 2491, + "estimated_scan_value": 581, + "id": 1.7293917239575936e+18, + "id64": 1.7293917239575936e+18, + "is_main_star": null, + "name": "Alectrona 9", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2735.663838, + "estimated_mapping_value": 2758, + "estimated_scan_value": 661, + "id": 1.7654205209765576e+18, + "id64": 1.7654205209765576e+18, + "is_main_star": null, + "name": "Alectrona 10", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2733.899018, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.8735069120334495e+18, + "id64": 1.8735069120334495e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 3, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alectrona 10 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + } + ], + "body_count": 31, + "controlling_minor_faction": "Teaka Elite Altruists Bagging Cooperative", + "controlling_minor_faction_state": "Expansion", + "controlling_power": "Denton Patreus", + "estimated_mapping_value": 224740, + "estimated_scan_value": 59092, + "government": "Cooperative", + "id64": 9467047323049, + "known_permit": false, + "landmark_value": 0, + "minor_faction_presences": [ + { + "influence": 0.095045, + "name": "Alectrona Company", + "state": "Civil War" + }, + { + "influence": 0.123357, + "name": "Alectrona Imperial Society", + "state": "Election" + }, + { + "influence": 0.123357, + "name": "Alectrona Nationalists", + "state": "Election" + }, + { + "influence": 0.06269, + "name": "Chi Eridani Crimson Travel & Co", + "state": "None" + }, + { + "influence": 0.102123, + "name": "LFT 133 Exchange", + "state": "None" + }, + { + "influence": 0.095045, + "name": "Social Alectrona Free", + "state": "Civil War" + }, + { + "influence": 0.398382, + "name": "Teaka Elite Altruists Bagging Cooperative", + "state": "Expansion" + } + ], + "name": "Alectrona", + "needs_permit": false, + "population": 23157652, + "power": [ + "Denton Patreus", + "Zemina Torval", + "Jerome Archer" + ], + "power_state": "Exploited", + "primary_economy": "Industrial", + "region": "Inner Orion Spur", + "secondary_economy": "Refinery", + "security": "Medium", + "stations": [ + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3710646528, + "medium_pads": 4, + "name": "G9B-6VK", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3705325824, + "medium_pads": 4, + "name": "V0T-43M", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 964.30142, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3707107840, + "medium_pads": 4, + "name": "JHK-N0Y", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 728.550436, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3703623424, + "medium_pads": 4, + "name": "V0Y-9KK", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 964.814027, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3224125952, + "medium_pads": 1, + "name": "Le Guin Port", + "small_pads": 3, + "type": "Outpost" + }, + { + "distance_to_arrival": 447.618064, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 9, + "market_id": 3224125440, + "medium_pads": 18, + "name": "Marley City", + "small_pads": 17, + "type": "Coriolis Starport" + }, + { + "distance_to_arrival": 2799.006641, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3705581056, + "medium_pads": 4, + "name": "TNW-B8V", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 2590.443902, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3703926784, + "medium_pads": 4, + "name": "T9F-2QW", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 316.254541, + "has_large_pad": false, + "has_market": true, + "has_outfitting": true, + "large_pads": 0, + "market_id": 3224125696, + "medium_pads": 1, + "name": "Russ City", + "small_pads": 4, + "type": "Outpost" + }, + { + "distance_to_arrival": 315.483113, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804757248, + "medium_pads": 0, + "name": "Dakhno Chemical Silo", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 316.483894, + "has_large_pad": false, + "market_id": 3513485824, + "name": "Lebedev Barracks" + }, + { + "distance_to_arrival": 315.328695, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804756992, + "medium_pads": 0, + "name": "Parekh Manufacturing Enterprise", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 315.332664, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804756736, + "medium_pads": 0, + "name": "Banerjee Hydroponics", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 449.586127, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3705497344, + "medium_pads": 4, + "name": "X7Z-8VL", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 450.074673, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804753408, + "medium_pads": 0, + "name": "Faucher Nutrition Facility", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 448.75971, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804753152, + "medium_pads": 1, + "name": "Lusmore's Encampment", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 449.537118, + "has_large_pad": false, + "market_id": 3804748800, + "name": "Koroma Horticultural Garden" + }, + { + "distance_to_arrival": 448.220018, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804748544, + "medium_pads": 1, + "name": "Antonaci Jurisdiction", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 447.18691, + "has_large_pad": false, + "market_id": 3513486592, + "name": "Maine Enterprise" + }, + { + "distance_to_arrival": 452.326939, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804753920, + "medium_pads": 0, + "name": "Stupka Chemical Hub", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 452.458394, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804754176, + "medium_pads": 0, + "name": "Alonso Botanical Range", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 448.858901, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804753664, + "medium_pads": 0, + "name": "Edwards Manufacturing Exchange", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 451.659051, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804754432, + "medium_pads": 0, + "name": "Kulkarni's Command", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 447.744062, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 2, + "market_id": 3513486336, + "medium_pads": 2, + "name": "Back Base", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 453.00495, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804755712, + "medium_pads": 0, + "name": "Igbinedion's Muse", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 446.180082, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804755200, + "medium_pads": 0, + "name": "Nishimura Synthetics Base", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 446.55601, + "has_large_pad": false, + "market_id": 3513486848, + "name": "Koishikawa Lab" + }, + { + "distance_to_arrival": 449.882562, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804755456, + "medium_pads": 0, + "name": "Jarvis Depot", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 453.293929, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804754944, + "medium_pads": 0, + "name": "Mitchell's Nursery", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 451.813107, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804754688, + "medium_pads": 0, + "name": "Obi Cultivation Exchange", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 451.936664, + "has_large_pad": false, + "market_id": 3513486080, + "name": "Pickering Terminal" + }, + { + "distance_to_arrival": 451.936664, + "has_large_pad": false, + "market_id": 3804749824, + "name": "Faconti Chemical Works" + }, + { + "distance_to_arrival": 455.639412, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804749312, + "medium_pads": 0, + "name": "Mangal Agricultural Market", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 451.936664, + "has_large_pad": false, + "market_id": 3804750080, + "name": "Rey Watch" + }, + { + "distance_to_arrival": 455.714928, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804749568, + "medium_pads": 0, + "name": "Amato Engineering Foundry", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 444.413779, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804749056, + "medium_pads": 0, + "name": "Giuliani Hydroponics Collection", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1068.587474, + "has_large_pad": false, + "market_id": 3804758528, + "name": "Taschieri Engineering Base" + }, + { + "distance_to_arrival": 1068.587474, + "has_large_pad": false, + "market_id": 3804758016, + "name": "Constancia's Vista" + }, + { + "distance_to_arrival": 1062.790973, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804758272, + "medium_pads": 0, + "name": "Moy Manufacturing Hub", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1071.042459, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804758784, + "medium_pads": 0, + "name": "Zeng Munitions Hub", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1068.197541, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804759040, + "medium_pads": 0, + "name": "Alaneme Stockade", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1067.285033, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804760064, + "medium_pads": 0, + "name": "Awolowo Hold", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1074.737032, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804760320, + "medium_pads": 1, + "name": "Pettitt Dock", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1081.238719, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804755968, + "medium_pads": 0, + "name": "Aguta Defence Installation", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1077.636278, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804750848, + "medium_pads": 0, + "name": "Toure Industrial Depot", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1077.633266, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804751360, + "medium_pads": 1, + "name": "Scavo Synthetics Assembly", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1063.361319, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804751104, + "medium_pads": 0, + "name": "Seok's Engineering", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1059.504522, + "has_large_pad": false, + "market_id": 3804750336, + "name": "Valenzuela's Fort" + }, + { + "distance_to_arrival": 1072.198797, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804750592, + "medium_pads": 0, + "name": "Bernier Arms Base", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1450.8375, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804757760, + "medium_pads": 1, + "name": "Uchida Munitions Installation", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1457.208479, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804757504, + "medium_pads": 1, + "name": "Henriquez Military Expedition", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1454.805606, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3804759296, + "medium_pads": 0, + "name": "Guerrero's Eden", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1452.662892, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804759808, + "medium_pads": 0, + "name": "Bourne Watch", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1452.672613, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804759552, + "medium_pads": 0, + "name": "Christensson's Control", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1442.003166, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3807444736, + "medium_pads": 0, + "name": "Reyes Military Outpost", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1467.108257, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3807444480, + "medium_pads": 1, + "name": "Poulton's Encampment", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1794.729969, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804760576, + "medium_pads": 1, + "name": "Yan Military Installation", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1797.073474, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804760832, + "medium_pads": 1, + "name": "Park Military Barracks", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1796.089691, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804761088, + "medium_pads": 1, + "name": "Murakami's Hold", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1793.13158, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804751872, + "medium_pads": 0, + "name": "Jawara Military Fort", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1800.770613, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804751616, + "medium_pads": 1, + "name": "Kolev Command Installation", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1799.587472, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804756480, + "medium_pads": 0, + "name": "Contreras Defence Installation", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1790.957705, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804756224, + "medium_pads": 1, + "name": "Bhatt's Liberty", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 2737.464467, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3804752128, + "medium_pads": 1, + "name": "Ueno's Haunt", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2724.43379, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804752640, + "medium_pads": 0, + "name": "Asaju Engineering Site", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2724.434724, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804752384, + "medium_pads": 0, + "name": "Yakimchuk's Creations", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2724.518006, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3804752896, + "medium_pads": 0, + "name": "Foster Industrial Hub", + "small_pads": 0, + "type": "Settlement" + } + ], + "thargoid_war_failure_state": "None", + "thargoid_war_state": "None", + "thargoid_war_success_state": "None", + "updated_at": "2025-01-04 01:00:21+00", + "x": 14.53125, + "y": -52.46875, + "z": 2.5625 + } +} \ No newline at end of file diff --git a/Tests/Properties/SpanshQuickStarSystemAlioth.json b/Tests/Properties/SpanshQuickStarSystemAlioth.json index 7888e02e4a..dc72b224f3 100644 --- a/Tests/Properties/SpanshQuickStarSystemAlioth.json +++ b/Tests/Properties/SpanshQuickStarSystemAlioth.json @@ -1,1394 +1,1346 @@ { - "count": 2, - "query": "1109989017963", - "results": [ - { - "record": { - "allegiance": "Alliance", - "bodies": [ - { - "distance_to_arrival": 0, - "estimated_mapping_value": 4644, - "estimated_scan_value": 1227, - "id": 1109989017963, - "id64": 1109989017963, - "is_main_star": true, - "name": "Alioth", - "subtype": "A (Blue-White) Star", - "type": "Star" - }, - { - "distance_to_arrival": 1235.670029, - "estimated_mapping_value": 4414, - "estimated_scan_value": 1158, - "id": 180145095083837800, - "id64": 180145095083837800, - "is_main_star": null, - "name": "Alioth 1", - "subtype": "Class IV gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1236.271835, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 288231486140729700, - "id64": 288231486140729700, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 3, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 1, - "subtype": "Tourist Beacon", - "type": "Tourist Beacon", - "value": 0 - }, - { - "count": 1, - "subtype": "Crater Outpost", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Alioth 1 a", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1654.716807, - "estimated_mapping_value": 3771, - "estimated_scan_value": 965, - "id": 936749832482081200, - "id64": 936749832482081200, - "is_main_star": null, - "name": "Alioth 2", - "subtype": "Class III gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1653.693706, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1008807426520009100, - "id64": 1008807426520009100, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 2, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Alioth 2 a", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1653.131937, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1044836223538973000, - "id64": 1044836223538973000, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Alioth 2 b", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1655.916358, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1080865020557937000, - "id64": 1080865020557937000, - "is_main_star": null, - "name": "Alioth 2 c", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1655.553905, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1116893817576901000, - "id64": 1116893817576901000, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 2, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Alioth 2 d", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1651.618817, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1152922614595864800, - "id64": 1152922614595864800, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 5, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Alioth 2 e", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1653.266221, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1224980208633792800, - "id64": 1224980208633792800, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 2, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Alioth 2 f", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 2297.335038, - "estimated_mapping_value": 3128, - "estimated_scan_value": 772, - "id": 1693354569880324400, - "id64": 1693354569880324400, - "is_main_star": null, - "name": "Alioth 3", - "subtype": "Class III gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 2298.120073, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1801440960937216300, - "id64": 1801440960937216300, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 3, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 3, - "subtype": "Silicate Vapour Fumarole", - "type": "Fumarole", - "value": 0 - }, - { - "count": 4, - "subtype": "Silicate Magma Lava Spout", - "type": "Lava Spout", - "value": 0 - }, - { - "count": 4, - "subtype": "Silicate Vapour Gas Vent", - "type": "Gas Vent", - "value": 0 - }, - { - "count": 1, - "subtype": "Surface Station", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Alioth 3 a", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 2298.449276, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1837469757956180200, - "id64": 1837469757956180200, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 3, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Alioth 3 b", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 2296.604861, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1873498554975144200, - "id64": 1873498554975144200, - "is_main_star": null, - "name": "Alioth 3 c", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 2296.634423, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1909527351994108200, - "id64": 1909527351994108200, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 1, - "subtype": "Silicate Vapour Fumarole", - "type": "Fumarole", - "value": 0 - }, - { - "count": 1, - "subtype": "Silicate Magma Lava Spout", - "type": "Lava Spout", - "value": 0 - } - ], - "name": "Alioth 3 c a", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 2301.497479, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1945556149013072100, - "id64": 1945556149013072100, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 3, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Alioth 3 d", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 2351.847341, - "estimated_mapping_value": 62580, - "estimated_scan_value": 17224, - "id": 1981584946032036000, - "id64": 1981584946032036000, - "is_main_star": null, - "name": "Alioth 4", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 2351.480762, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 2053642540069964000, - "id64": 2053642540069964000, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 5, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 1, - "subtype": "Crater Outpost", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Alioth 4 a", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 4690.648065, - "estimated_mapping_value": 3694, - "estimated_scan_value": 942, - "id": 2089671337088928000, - "id64": 2089671337088928000, - "is_main_star": null, - "name": "Alioth 5", - "subtype": "Class III gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 4637.307949, - "estimated_mapping_value": 961688, - "estimated_scan_value": 264685, - "id": 2125700134107892000, - "id64": 2125700134107892000, - "is_main_star": null, - "name": "Wicca's World", - "subtype": "Earth-like world", - "terraforming_state": "Terraformed", - "type": "Planet" - }, - { - "distance_to_arrival": 4617.078984, - "estimated_mapping_value": 956448, - "estimated_scan_value": 263243, - "id": 2161728931126856000, - "id64": 2161728931126856000, - "is_main_star": null, - "name": "Turner's World", - "subtype": "Earth-like world", - "terraforming_state": "Terraformed", - "type": "Planet" - }, - { - "distance_to_arrival": 4520.517779, - "estimated_mapping_value": 954617, - "estimated_scan_value": 262739, - "id": 2197757728145820000, - "id64": 2197757728145820000, - "is_main_star": null, - "name": "Argent's Claim", - "subtype": "Earth-like world", - "terraforming_state": "Terraformed", - "type": "Planet" - }, - { - "distance_to_arrival": 7781.984944, - "estimated_mapping_value": 3528, - "estimated_scan_value": 892, - "id": 2233786525164783900, - "id64": 2233786525164783900, - "is_main_star": null, - "name": "Bifrost", - "subtype": "Class III gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, + "record": { + "allegiance": "Alliance", + "bodies": [ + { + "distance_to_arrival": 0, + "estimated_mapping_value": 4644, + "estimated_scan_value": 1227, + "id": 1109989017963, + "id64": 1109989017963, + "is_main_star": true, + "name": "Alioth", + "subtype": "A (Blue-White) Star", + "type": "Star" + }, + { + "distance_to_arrival": 1235.426435, + "estimated_mapping_value": 4414, + "estimated_scan_value": 1158, + "id": 180145095083837800, + "id64": 180145095083837800, + "is_main_star": null, + "name": "Alioth 1", + "subtype": "Class IV gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1232.299048, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 288231486140729700, + "id64": 288231486140729700, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 7780.483914, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 2269815322183747800, - "id64": 2269815322183747800, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 4, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Mackenzie's Legacy", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 3, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 7781.451032, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 2305844119202712000, - "id64": 2305844119202712000, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 4, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 2, - "subtype": "Crater Outpost", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Ousey Rock", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 1, + "subtype": "Tourist Beacon", + "type": "Tourist Beacon", + "value": 0 }, { - "distance_to_arrival": 7789.889052, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 2341872916221676000, - "id64": 2341872916221676000, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 4, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 1, - "subtype": "Crater Outpost", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Miller Rock", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 } ], - "body_count": 26, - "controlling_minor_faction": "Alioth Independents", - "controlling_minor_faction_state": "None", - "controlling_power": "Edmund Mahon", - "estimated_mapping_value": 2994048, - "estimated_scan_value": 821847, - "government": "Democracy", - "id64": 1109989017963, - "known_permit": true, + "name": "Alioth 1 a", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1654.46744, + "estimated_mapping_value": 3771, + "estimated_scan_value": 965, + "id": 936749832482081200, + "id64": 936749832482081200, + "is_main_star": null, + "name": "Alioth 2", + "subtype": "Class III gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1655.519128, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.0088074265200091e+18, + "id64": 1.0088074265200091e+18, + "is_main_star": null, "landmark_value": 0, - "minor_faction_presences": [ - { - "influence": 0.04878, - "name": "Alioth Council", - "state": "None" - }, - { - "influence": 0.581301, - "name": "Alioth Independents", - "state": "None" - }, + "landmarks": [ { - "influence": 0.095528, - "name": "Alioth Pro-Alliance Group", - "state": "None" - }, - { - "influence": 0.143293, - "name": "Independent Constitution Party", - "state": "None" - }, - { - "influence": 0.046748, - "name": "Natural Growth Party", - "state": "None" - }, - { - "influence": 0.044715, - "name": "Sirius Corporation", - "state": "None" - }, - { - "influence": 0.039634, - "name": "Turner Research Group", - "state": "None" + "count": 2, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 } ], - "name": "Alioth", - "needs_permit": true, - "population": 14900167328, - "power": [ - "Edmund Mahon" - ], - "power_state": "Stronghold", - "primary_economy": "High Tech", - "region": "Inner Orion Spur", - "secondary_economy": "Service", - "security": "High", - "stations": [ - { - "distance_to_arrival": 4630.70403, - "has_large_pad": false, - "has_market": true, - "has_outfitting": true, - "market_id": 128856650, - "name": "Rescue Ship - Donaldson", - "type": "Mega ship" - }, - { - "distance_to_arrival": 7781.851787, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 9, - "market_id": 128141816, - "medium_pads": 18, - "name": "Golden Gate", - "small_pads": 17, - "type": "Coriolis Starport" - }, - { - "distance_to_arrival": 4617.208116, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 6, - "market_id": 128141048, - "medium_pads": 11, - "name": "Donaldson", - "small_pads": 10, - "type": "Orbis Starport" - }, - { - "distance_to_arrival": 7789.48934, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 9, - "market_id": 128140792, - "medium_pads": 18, - "name": "Melbourne Park", - "small_pads": 17, - "type": "Orbis Starport" - }, - { - "distance_to_arrival": 4637.064157, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 5, - "market_id": 128141560, - "medium_pads": 12, - "name": "Aachen Town", - "small_pads": 8, - "type": "Coriolis Starport" - }, - { - "distance_to_arrival": 7782.460829, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 9, - "market_id": 128140536, - "medium_pads": 18, - "name": "Irkutsk", - "small_pads": 17, - "type": "Orbis Starport" - }, - { - "distance_to_arrival": 4520.427979, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 9, - "market_id": 128141304, - "medium_pads": 18, - "name": "Gotham Park", - "small_pads": 17, - "type": "Coriolis Starport" - }, - { - "distance_to_arrival": 4519.906714, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 2, - "market_id": 3930406913, - "medium_pads": 4, - "name": "Stronghold Carrier", - "small_pads": 4, - "type": "Planetary Outpost" - }, - { - "distance_to_arrival": 1235.210757, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "large_pads": 1, - "market_id": 129008728, - "medium_pads": 2, - "name": "The Witness Odysseus", - "small_pads": 4, - "type": "Mega ship" - }, - { - "distance_to_arrival": 1237.184726, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3229503488, - "medium_pads": 1, - "name": "Laird Dock", - "small_pads": 3, - "type": "Outpost" - }, - { - "distance_to_arrival": 1245.078074, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3867301888, - "medium_pads": 0, - "name": "Fournier Botanical Biosphere", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 1236.271835, - "has_large_pad": false, - "market_id": 3537523968, - "name": "Grigson Point" - }, - { - "distance_to_arrival": 1236.271835, - "has_large_pad": false, - "market_id": 3537522688, - "name": "Heaviside Enterprise" - }, - { - "distance_to_arrival": 1236.271835, - "has_large_pad": false, - "market_id": 3537519872, - "name": "Steinmuller Keep" - }, - { - "distance_to_arrival": 1237.166839, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867301632, - "medium_pads": 0, - "name": "Wu Manufacturing Base", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 1234.759581, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 4, - "market_id": 128975463, - "medium_pads": 4, - "name": "Lakon Spaceways Central", - "small_pads": 4, - "type": "Planetary Outpost" - }, - { - "distance_to_arrival": 1235.628033, - "has_large_pad": true, - "has_market": true, - "large_pads": 2, - "market_id": 3867301376, - "medium_pads": 0, - "name": "Gao Boarding Zone", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 1654.66618, - "has_large_pad": true, - "has_market": true, - "large_pads": 2, - "market_id": 3867302656, - "medium_pads": 0, - "name": "Schulte's Passage", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 1655.472946, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867302400, - "medium_pads": 0, - "name": "Moller's Industrial", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 1654.901705, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867304704, - "medium_pads": 0, - "name": "Zuniga's Keep", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 1652.799269, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3867305216, - "medium_pads": 0, - "name": "Ziegler Munitions Stockade", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 1658.184845, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867304960, - "medium_pads": 0, - "name": "Wilkinson Armoury", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 1656.024902, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3922326016, - "medium_pads": 0, - "name": "Rayne Cultivation Nursery", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 1662.830345, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3922325760, - "medium_pads": 0, - "name": "Bhardwaj Industrial Site", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 1652.888906, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3922325504, - "medium_pads": 0, - "name": "Ludwig's Dock", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 1657.114107, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3922326272, - "medium_pads": 0, - "name": "Dibrova Agricultural Base", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 1652.888522, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3922325248, - "medium_pads": 0, - "name": "Shimizu Military Armoury", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 1659.213189, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867304192, - "medium_pads": 0, - "name": "Corbin Terminus", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 1651.380213, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867303936, - "medium_pads": 0, - "name": "Nishimura Industrial Enterprise", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 2298.120073, - "has_large_pad": false, - "market_id": 3537522176, - "name": "Fernandes' Progress" - }, - { - "distance_to_arrival": 2300.71237, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3867303168, - "medium_pads": 0, - "name": "Kotsuba Hydroponics Exchange", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 2298.051208, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867302912, - "medium_pads": 0, - "name": "Yarovy Chemical Foundry", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 2299.56431, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867303424, - "medium_pads": 0, - "name": "Sherlock Hydroponics Exchange", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 2296.465006, - "has_large_pad": true, - "has_market": true, - "large_pads": 2, - "market_id": 3867303680, - "medium_pads": 0, - "name": "Leckey's Peace", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 2301.638292, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3867305472, - "medium_pads": 1, - "name": "Esme Munitions Enterprise", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 2298.449276, - "has_large_pad": false, - "market_id": 3537521920, - "name": "Nesvadba Installation" - }, - { - "distance_to_arrival": 2296.476291, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867305728, - "medium_pads": 0, - "name": "Mowatt Cultivation Site", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 2298.651007, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867305984, - "medium_pads": 0, - "name": "Kava Industrial Enterprise", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 2300.112478, - "has_large_pad": true, - "has_market": true, - "large_pads": 2, - "market_id": 3867304448, - "medium_pads": 0, - "name": "Riquelme's Quest", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 2296.604861, - "has_large_pad": false, - "market_id": 3537521664, - "name": "Froude Installation" - }, - { - "distance_to_arrival": 2295.252049, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867302144, - "medium_pads": 0, - "name": "Crosby Agricultural Hub", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 2307.556785, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867300608, - "medium_pads": 0, - "name": "Pohl Botanical Holding", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 2301.497479, - "has_large_pad": false, - "market_id": 3537521408, - "name": "Marley Arsenal" - }, - { - "distance_to_arrival": 2298.541599, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867301120, - "medium_pads": 0, - "name": "Faucher's Obligation", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 2298.862439, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3867300864, - "medium_pads": 0, - "name": "Nightingale Nutrition Holdings", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 2338.352583, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3867296512, - "medium_pads": 0, - "name": "Toure Chemical Base", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 2327.33576, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867296000, - "medium_pads": 0, - "name": "Goto Horticultural Farm", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 2352.691647, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3867295488, - "medium_pads": 1, - "name": "Lusmore's Steal", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 2353.884915, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867296256, - "medium_pads": 0, - "name": "Cha Cultivation Centre", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 2353.000826, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867295744, - "medium_pads": 0, - "name": "Lusmore Agricultural Plantation", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 2351.867235, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "large_pads": 3, - "market_id": 128674183, - "medium_pads": 3, - "name": "Turner Metallics Inc", - "small_pads": 2, - "type": "Planetary Outpost" - }, - { - "distance_to_arrival": 7780.483914, - "has_large_pad": false, - "market_id": 3537522432, - "name": "Cook Landing" - }, - { - "distance_to_arrival": 7779.96888, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867297536, - "medium_pads": 0, - "name": "Mnogogrishny Manufacturing Silo", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 7782.007274, - "has_large_pad": true, - "has_market": true, - "large_pads": 2, - "market_id": 3867298048, - "medium_pads": 0, - "name": "Brunt Leisure", - "small_pads": 2, - "type": "Settlement" - }, + "name": "Alioth 2 a", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1655.52337, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.044836223538973e+18, + "id64": 1.044836223538973e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 7781.397623, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867296768, - "medium_pads": 0, - "name": "Iglesias Horticultural Enterprise", - "small_pads": 2, - "type": "Settlement" - }, + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alioth 2 b", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1652.55908, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.080865020557937e+18, + "id64": 1.080865020557937e+18, + "is_main_star": null, + "name": "Alioth 2 c", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1650.844872, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.116893817576901e+18, + "id64": 1.116893817576901e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 7779.409758, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3867297024, - "medium_pads": 0, - "name": "Sul Botanical", - "small_pads": 1, - "type": "Settlement" - }, + "count": 2, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alioth 2 d", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1650.698742, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.1529226145958648e+18, + "id64": 1.1529226145958648e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 7781.096545, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867297280, - "medium_pads": 0, - "name": "Deol Hydroponics Hub", - "small_pads": 1, - "type": "Settlement" - }, + "count": 5, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alioth 2 e", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1660.807265, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2249802086337928e+18, + "id64": 1.2249802086337928e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 7780.772779, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867297792, - "medium_pads": 0, - "name": "Hirano Industrial Facility", - "small_pads": 0, - "type": "Settlement" - }, + "count": 2, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alioth 2 f", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2297.428043, + "estimated_mapping_value": 3128, + "estimated_scan_value": 772, + "id": 1.6933545698803244e+18, + "id64": 1.6933545698803244e+18, + "is_main_star": null, + "name": "Alioth 3", + "subtype": "Class III gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2296.730542, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.8014409609372163e+18, + "id64": 1.8014409609372163e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 7785.678595, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867298560, - "medium_pads": 0, - "name": "Richelieu Cultivation Site", - "small_pads": 2, - "type": "Settlement" + "count": 3, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 7780.068581, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867298816, - "medium_pads": 0, - "name": "Shepherd Hydroponics Holdings", - "small_pads": 2, - "type": "Settlement" + "count": 3, + "subtype": "Silicate Vapour Fumarole", + "type": "Fumarole", + "value": 0 }, { - "distance_to_arrival": 7781.451032, - "has_large_pad": false, - "market_id": 3537520896, - "name": "Altshuller Town ++" + "count": 4, + "subtype": "Silicate Magma Lava Spout", + "type": "Lava Spout", + "value": 0 }, { - "distance_to_arrival": 7779.90299, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 4, - "market_id": 3537520128, - "medium_pads": 4, - "name": "Diophantus Works", - "small_pads": 4, - "type": "Planetary Outpost" + "count": 4, + "subtype": "Silicate Vapour Gas Vent", + "type": "Gas Vent", + "value": 0 }, { - "distance_to_arrival": 7787.858316, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867299072, - "medium_pads": 0, - "name": "Teklehaimanot Cultivation Hub", - "small_pads": 1, - "type": "Settlement" - }, + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alioth 3 a", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2294.82589, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.8374697579561802e+18, + "id64": 1.8374697579561802e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 7777.256612, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867299328, - "medium_pads": 0, - "name": "Trau Industrial Enterprise", - "small_pads": 0, - "type": "Settlement" - }, + "count": 3, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alioth 3 b", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2297.77042, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.8734985549751442e+18, + "id64": 1.8734985549751442e+18, + "is_main_star": null, + "name": "Alioth 3 c", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2297.753592, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.9095273519941082e+18, + "id64": 1.9095273519941082e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 7781.323679, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867298304, - "medium_pads": 0, - "name": "Close's Humility", - "small_pads": 1, - "type": "Settlement" + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 7780.089548, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 4, - "market_id": 3537520640, - "medium_pads": 4, - "name": "Mallory Settlement", - "small_pads": 4, - "type": "Planetary Outpost" + "count": 1, + "subtype": "Silicate Vapour Fumarole", + "type": "Fumarole", + "value": 0 }, { - "distance_to_arrival": 7771.228491, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867300352, - "medium_pads": 0, - "name": "Ribeiro Barracks", - "small_pads": 2, - "type": "Settlement" - }, + "count": 1, + "subtype": "Silicate Magma Lava Spout", + "type": "Lava Spout", + "value": 0 + } + ], + "name": "Alioth 3 c a", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2304.529768, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.9455561490130721e+18, + "id64": 1.9455561490130721e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 7789.889052, - "has_large_pad": false, - "market_id": 3537521152, - "name": "Pangborn Lab" - }, + "count": 3, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alioth 3 d", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2347.767662, + "estimated_mapping_value": 62580, + "estimated_scan_value": 17224, + "id": 1.981584946032036e+18, + "id64": 1.981584946032036e+18, + "is_main_star": null, + "name": "Alioth 4", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2348.159341, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.053642540069964e+18, + "id64": 2.053642540069964e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 7771.305113, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3867299584, - "medium_pads": 0, - "name": "McGuire Industrial Base", - "small_pads": 1, - "type": "Settlement" + "count": 5, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 7794.935055, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "large_pads": 4, - "market_id": 3537520384, - "medium_pads": 4, - "name": "Desargues Beacon", - "small_pads": 4, - "type": "Planetary Outpost" - }, + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Alioth 4 a", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 4690.648065, + "estimated_mapping_value": 3694, + "estimated_scan_value": 942, + "id": 2.089671337088928e+18, + "id64": 2.089671337088928e+18, + "is_main_star": null, + "name": "Alioth 5", + "subtype": "Class III gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 4621.227412, + "estimated_mapping_value": 961688, + "estimated_scan_value": 264685, + "id": 2.125700134107892e+18, + "id64": 2.125700134107892e+18, + "is_main_star": null, + "name": "Wicca's World", + "subtype": "Earth-like world", + "terraforming_state": "Terraformed", + "type": "Planet" + }, + { + "distance_to_arrival": 4634.929713, + "estimated_mapping_value": 956448, + "estimated_scan_value": 263243, + "id": 2.161728931126856e+18, + "id64": 2.161728931126856e+18, + "is_main_star": null, + "name": "Turner's World", + "subtype": "Earth-like world", + "terraforming_state": "Terraformed", + "type": "Planet" + }, + { + "distance_to_arrival": 4524.977604, + "estimated_mapping_value": 954617, + "estimated_scan_value": 262739, + "id": 2.19775772814582e+18, + "id64": 2.19775772814582e+18, + "is_main_star": null, + "name": "Argent's Claim", + "subtype": "Earth-like world", + "terraforming_state": "Terraformed", + "type": "Planet" + }, + { + "distance_to_arrival": 7781.984944, + "estimated_mapping_value": 3528, + "estimated_scan_value": 892, + "id": 2.2337865251647839e+18, + "id64": 2.2337865251647839e+18, + "is_main_star": null, + "name": "Bifrost", + "subtype": "Class III gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 7783.142027, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.2698153221837478e+18, + "id64": 2.2698153221837478e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 7771.124058, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3867299840, - "medium_pads": 0, - "name": "Gough Industrial", - "small_pads": 1, - "type": "Settlement" - }, + "count": 4, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Mackenzie's Legacy", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 7785.258832, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.305844119202712e+18, + "id64": 2.305844119202712e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 7794.454875, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3867300096, - "medium_pads": 0, - "name": "Babangida Industrial Depot", - "small_pads": 0, - "type": "Settlement" + "count": 4, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 7789.889052, - "has_large_pad": false, - "market_id": 3537519616, - "name": "Fremion Hub" + "count": 2, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 } ], - "thargoid_war_failure_state": "None", - "thargoid_war_state": "None", - "thargoid_war_success_state": "None", - "updated_at": "2024-12-07 21:57:54+00", - "x": -33.65625, - "y": 72.46875, - "z": -20.65625 - }, - "type": "system" - }, - { - "record": { - "age": 3386, - "atmosphere": "No atmosphere", - "axis_tilt": -0.030416, - "belts": [ + "name": "Ousey Rock", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 7788.186802, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.341872916221676e+18, + "id64": 2.341872916221676e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "inner_radius": 3657800000, - "mass": 21145000000000000, - "name": "Alioth A Belt", - "outer_radius": 234100000000, - "type": "Rocky" + "count": 5, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 } ], - "body_id": 0, - "distance_to_arrival": 0, - "estimated_mapping_value": 4644, - "estimated_scan_value": 1227, - "id64": 1109989017963, - "is_main_star": true, - "luminosity_class": "IV", - "name": "Alioth", - "rotational_period": 1.47679716, - "solar_masses": 1.519531, - "solar_radius": 1.39636221423436, - "spectral_class": "A1", - "subtype": "A (Blue-White) Star", - "surface_temperature": 7910, - "system_controlling_power": "Edmund Mahon", - "system_id64": 1109989017963, - "system_name": "Alioth", - "system_power_state": "Stronghold", - "system_region": "Inner Orion Spur", - "system_x": -33.65625, - "system_y": 72.46875, - "system_z": -20.65625, - "type": "Star", - "updated_at": "2024-12-07 21:57:54+00" - }, - "type": "body" - } - ] + "name": "Miller Rock", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + } + ], + "body_count": 26, + "controlling_minor_faction": "Alioth Independents", + "controlling_minor_faction_state": "None", + "controlling_power": "Edmund Mahon", + "estimated_mapping_value": 2994048, + "estimated_scan_value": 821847, + "government": "Democracy", + "id64": 1109989017963, + "known_permit": true, + "landmark_value": 0, + "minor_faction_presences": [ + { + "influence": 0.04, + "name": "Alioth Council", + "state": "None" + }, + { + "influence": 0.594, + "name": "Alioth Independents", + "state": "None" + }, + { + "influence": 0.1, + "name": "Alioth Pro-Alliance Group", + "state": "None" + }, + { + "influence": 0.147, + "name": "Independent Constitution Party", + "state": "None" + }, + { + "influence": 0.032, + "name": "Natural Growth Party", + "state": "None" + }, + { + "influence": 0.045, + "name": "Sirius Corporation", + "state": "None" + }, + { + "influence": 0.042, + "name": "Turner Research Group", + "state": "None" + } + ], + "name": "Alioth", + "needs_permit": true, + "population": 14900167328, + "power": [ + "Edmund Mahon" + ], + "power_state": "Stronghold", + "primary_economy": "High Tech", + "region": "Inner Orion Spur", + "secondary_economy": "Service", + "security": "High", + "stations": [ + { + "distance_to_arrival": 4630.70403, + "has_large_pad": false, + "has_market": true, + "has_outfitting": true, + "market_id": 128856650, + "name": "Rescue Ship - Donaldson", + "type": "Mega ship" + }, + { + "distance_to_arrival": 4634.168701, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 6, + "market_id": 128141048, + "medium_pads": 11, + "name": "Donaldson", + "small_pads": 10, + "type": "Orbis Starport" + }, + { + "distance_to_arrival": 4621.143949, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 5, + "market_id": 128141560, + "medium_pads": 12, + "name": "Aachen Town", + "small_pads": 8, + "type": "Coriolis Starport" + }, + { + "distance_to_arrival": 4524.938751, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 2, + "market_id": 3930406913, + "medium_pads": 4, + "name": "Stronghold Carrier", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 4524.953723, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 9, + "market_id": 128141304, + "medium_pads": 18, + "name": "Gotham Park", + "small_pads": 17, + "type": "Coriolis Starport" + }, + { + "distance_to_arrival": 1235.171275, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 1, + "market_id": 129008728, + "medium_pads": 2, + "name": "The Witness Odysseus", + "small_pads": 4, + "type": "Mega ship" + }, + { + "distance_to_arrival": 7782.375187, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 9, + "market_id": 128141816, + "medium_pads": 18, + "name": "Golden Gate", + "small_pads": 17, + "type": "Coriolis Starport" + }, + { + "distance_to_arrival": 7785.306261, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 9, + "market_id": 128140536, + "medium_pads": 18, + "name": "Irkutsk", + "small_pads": 17, + "type": "Orbis Starport" + }, + { + "distance_to_arrival": 7786.056434, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 9, + "market_id": 128140792, + "medium_pads": 18, + "name": "Melbourne Park", + "small_pads": 17, + "type": "Orbis Starport" + }, + { + "distance_to_arrival": 1231.304784, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3229503488, + "medium_pads": 1, + "name": "Laird Dock", + "small_pads": 3, + "type": "Outpost" + }, + { + "distance_to_arrival": 1245.078074, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3867301888, + "medium_pads": 0, + "name": "Fournier Botanical Biosphere", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1232.299048, + "has_large_pad": false, + "market_id": 3537523968, + "name": "Grigson Point" + }, + { + "distance_to_arrival": 1232.299048, + "has_large_pad": false, + "market_id": 3537522688, + "name": "Heaviside Enterprise" + }, + { + "distance_to_arrival": 1232.299048, + "has_large_pad": false, + "market_id": 3537519872, + "name": "Steinmuller Keep" + }, + { + "distance_to_arrival": 1237.166839, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867301632, + "medium_pads": 0, + "name": "Wu Manufacturing Base", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1235.628033, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3867301376, + "medium_pads": 0, + "name": "Gao Boarding Zone", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1233.723439, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 4, + "market_id": 128975463, + "medium_pads": 4, + "name": "Lakon Spaceways Central", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 1654.271839, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3867302656, + "medium_pads": 0, + "name": "Schulte's Passage", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1655.472946, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867302400, + "medium_pads": 0, + "name": "Moller's Industrial", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1654.35071, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867304704, + "medium_pads": 0, + "name": "Zuniga's Keep", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1652.799269, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3867305216, + "medium_pads": 0, + "name": "Ziegler Munitions Stockade", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1658.184845, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867304960, + "medium_pads": 0, + "name": "Wilkinson Armoury", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1656.024902, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3922326016, + "medium_pads": 0, + "name": "Rayne Cultivation Nursery", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1662.830345, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3922325760, + "medium_pads": 0, + "name": "Bhardwaj Industrial Site", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1652.888906, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3922325504, + "medium_pads": 0, + "name": "Ludwig's Dock", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1657.114107, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3922326272, + "medium_pads": 0, + "name": "Dibrova Agricultural Base", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1652.888522, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3922325248, + "medium_pads": 0, + "name": "Shimizu Military Armoury", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1660.872941, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867304192, + "medium_pads": 0, + "name": "Corbin Terminus", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1651.380213, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867303936, + "medium_pads": 0, + "name": "Nishimura Industrial Enterprise", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2296.730542, + "has_large_pad": false, + "market_id": 3537522176, + "name": "Fernandes' Progress" + }, + { + "distance_to_arrival": 2300.71237, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3867303168, + "medium_pads": 0, + "name": "Kotsuba Hydroponics Exchange", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 2298.051208, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867302912, + "medium_pads": 0, + "name": "Yarovy Chemical Foundry", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2299.56431, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867303424, + "medium_pads": 0, + "name": "Sherlock Hydroponics Exchange", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2296.465006, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3867303680, + "medium_pads": 0, + "name": "Leckey's Peace", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2301.638292, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3867305472, + "medium_pads": 1, + "name": "Esme Munitions Enterprise", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2294.82589, + "has_large_pad": false, + "market_id": 3537521920, + "name": "Nesvadba Installation" + }, + { + "distance_to_arrival": 2296.476291, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867305728, + "medium_pads": 0, + "name": "Mowatt Cultivation Site", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2298.651007, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867305984, + "medium_pads": 0, + "name": "Kava Industrial Enterprise", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2300.112478, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3867304448, + "medium_pads": 0, + "name": "Riquelme's Quest", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2297.77042, + "has_large_pad": false, + "market_id": 3537521664, + "name": "Froude Installation" + }, + { + "distance_to_arrival": 2295.252049, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867302144, + "medium_pads": 0, + "name": "Crosby Agricultural Hub", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2307.556785, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867300608, + "medium_pads": 0, + "name": "Pohl Botanical Holding", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2304.529768, + "has_large_pad": false, + "market_id": 3537521408, + "name": "Marley Arsenal" + }, + { + "distance_to_arrival": 2298.541599, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867301120, + "medium_pads": 0, + "name": "Faucher's Obligation", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2298.862439, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3867300864, + "medium_pads": 0, + "name": "Nightingale Nutrition Holdings", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 2351.290005, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3867296512, + "medium_pads": 0, + "name": "Toure Chemical Base", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 2327.33576, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867296000, + "medium_pads": 0, + "name": "Goto Horticultural Farm", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2349.620583, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3867295488, + "medium_pads": 1, + "name": "Lusmore's Steal", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2353.884915, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867296256, + "medium_pads": 0, + "name": "Cha Cultivation Centre", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 2348.990934, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867295744, + "medium_pads": 0, + "name": "Lusmore Agricultural Plantation", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2348.201508, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 3, + "market_id": 128674183, + "medium_pads": 3, + "name": "Turner Metallics Inc", + "small_pads": 2, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 7783.142027, + "has_large_pad": false, + "market_id": 3537522432, + "name": "Cook Landing" + }, + { + "distance_to_arrival": 7779.96888, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867297536, + "medium_pads": 0, + "name": "Mnogogrishny Manufacturing Silo", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 7783.01122, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3867298048, + "medium_pads": 0, + "name": "Brunt Leisure", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 7781.397623, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867296768, + "medium_pads": 0, + "name": "Iglesias Horticultural Enterprise", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 7779.409758, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3867297024, + "medium_pads": 0, + "name": "Sul Botanical", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 7781.096545, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867297280, + "medium_pads": 0, + "name": "Deol Hydroponics Hub", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 7780.772779, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867297792, + "medium_pads": 0, + "name": "Hirano Industrial Facility", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 7785.678595, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867298560, + "medium_pads": 0, + "name": "Richelieu Cultivation Site", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 7780.068581, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867298816, + "medium_pads": 0, + "name": "Shepherd Hydroponics Holdings", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 7785.258832, + "has_large_pad": false, + "market_id": 3537520896, + "name": "Altshuller Town ++" + }, + { + "distance_to_arrival": 7779.928799, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 4, + "market_id": 3537520128, + "medium_pads": 4, + "name": "Diophantus Works", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 7787.858316, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867299072, + "medium_pads": 0, + "name": "Teklehaimanot Cultivation Hub", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 7777.256612, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867299328, + "medium_pads": 0, + "name": "Trau Industrial Enterprise", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 7781.323679, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867298304, + "medium_pads": 0, + "name": "Close's Humility", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 7780.089548, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 4, + "market_id": 3537520640, + "medium_pads": 4, + "name": "Mallory Settlement", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 7771.228491, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867300352, + "medium_pads": 0, + "name": "Ribeiro Barracks", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 7788.186802, + "has_large_pad": false, + "market_id": 3537521152, + "name": "Pangborn Lab" + }, + { + "distance_to_arrival": 7771.305113, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3867299584, + "medium_pads": 0, + "name": "McGuire Industrial Base", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 7775.631788, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 4, + "market_id": 3537520384, + "medium_pads": 4, + "name": "Desargues Beacon", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 7776.761064, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3867299840, + "medium_pads": 0, + "name": "Gough Industrial", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 7794.454875, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3867300096, + "medium_pads": 0, + "name": "Babangida Industrial Depot", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 7788.186802, + "has_large_pad": false, + "market_id": 3537519616, + "name": "Fremion Hub" + } + ], + "thargoid_war_failure_state": "None", + "thargoid_war_state": "None", + "thargoid_war_success_state": "None", + "updated_at": "2025-01-04 03:56:06+00", + "x": -33.65625, + "y": 72.46875, + "z": -20.65625 + } } \ No newline at end of file diff --git a/Tests/Properties/SpanshQuickStarSystemArtemis.json b/Tests/Properties/SpanshQuickStarSystemArtemis.json index 7cd81a6ba1..047db77a8a 100644 --- a/Tests/Properties/SpanshQuickStarSystemArtemis.json +++ b/Tests/Properties/SpanshQuickStarSystemArtemis.json @@ -1,498 +1,448 @@ { - "count": 2, - "query": "3107509474002", - "results": [ - { - "record": { - "allegiance": "Empire", - "bodies": [ - { - "distance_to_arrival": 0, - "estimated_mapping_value": 4594, - "estimated_scan_value": 1212, - "id": 3107509474002, - "id64": 3107509474002, - "is_main_star": true, - "name": "Artemis", - "subtype": "K (Yellow-Orange) Star", - "type": "Star" - }, - { - "distance_to_arrival": 179.614773, - "estimated_mapping_value": 104690, - "estimated_scan_value": 28814, - "id": 36031904528437970, - "id64": 36031904528437970, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 2, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 1, - "subtype": "Crater Outpost", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Artemis 1", - "subtype": "Metal-rich body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 238.643104, - "estimated_mapping_value": 1025933, - "estimated_scan_value": 282367, - "id": 72060701547401940, - "id64": 72060701547401940, - "is_main_star": null, - "name": "Laphria", - "subtype": "Earth-like world", - "terraforming_state": "Terraformed", - "type": "Planet" - }, - { - "distance_to_arrival": 393.492007, - "estimated_mapping_value": 363161, - "estimated_scan_value": 99953, - "id": 144118295585329900, - "id64": 144118295585329900, - "is_main_star": null, - "name": "Artemis 3", - "subtype": "Water world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 395.425819, - "estimated_mapping_value": 53060, - "estimated_scan_value": 14604, - "id": 180147092604293860, - "id64": 180147092604293860, - "is_main_star": null, - "name": "Artemis 4", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 3212.594761, - "estimated_mapping_value": 4558, - "estimated_scan_value": 1201, - "id": 288233483661185700, - "id64": 288233483661185700, - "is_main_star": null, - "name": "Agrotera", - "subtype": "Class IV gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 3209.67593, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 324262280680149700, - "id64": 324262280680149700, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Silicate Vapour Gas Vent", - "type": "Gas Vent", - "value": 0 - }, - { - "count": 1, - "subtype": "Surface Station", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Agrotera a", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 3208.300523, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 360291077699113660, - "id64": 360291077699113660, - "is_main_star": null, - "name": "Agrotera b", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 3201.209816, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 396319874718077630, - "id64": 396319874718077630, - "is_main_star": null, - "landmark_value": 2362000, - "landmarks": [ - { - "count": 7, - "subtype": "Stratum Paleas", - "type": "Stratum", - "value": 1362000 - }, - { - "count": 1, - "subtype": "Crater Outpost", - "type": "Surface Station", - "value": 0 - }, - { - "count": 6, - "subtype": "Bacterium Aurasus", - "type": "Bacterium", - "value": 1000000 - } - ], - "name": "Agrotera c", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - } - ], - "body_count": 9, - "controlling_minor_faction": "East India Company", - "controlling_minor_faction_state": "Expansion", - "controlling_power": "Denton Patreus", - "estimated_mapping_value": 1562659, - "estimated_scan_value": 429651, - "government": "Corporate", + "record": { + "allegiance": "Empire", + "bodies": [ + { + "distance_to_arrival": 0, + "estimated_mapping_value": 4594, + "estimated_scan_value": 1212, + "id": 3107509474002, "id64": 3107509474002, - "known_permit": false, - "landmark_value": 2362000, - "minor_faction_presences": [ - { - "influence": 0.074074, - "name": "Artemis Blue Universal Exchange", - "state": "None" - }, - { - "influence": 0.086086, - "name": "Artemis Empire Assembly", - "state": "None" - }, - { - "influence": 0.01001, - "name": "Artemis Gold Partnership", - "state": "None" - }, - { - "influence": 0.126126, - "name": "Artemis Holdings", - "state": "None" - }, - { - "influence": 0.144144, - "name": "Artemis Resistance", - "state": "None" - }, - { - "influence": 0.55956, - "name": "East India Company", - "state": "Expansion" + "is_main_star": true, + "name": "Artemis", + "subtype": "K (Yellow-Orange) Star", + "type": "Star" + }, + { + "distance_to_arrival": 179.585062, + "estimated_mapping_value": 104690, + "estimated_scan_value": 28814, + "id": 36031904528437970, + "id64": 36031904528437970, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 2, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 } ], - "name": "Artemis", - "needs_permit": false, - "population": 1525606, - "power": [ - "Denton Patreus", - "Li Yong-Rui", - "Zemina Torval", - "Jerome Archer" + "name": "Artemis 1", + "subtype": "Metal-rich body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 238.4997, + "estimated_mapping_value": 1025933, + "estimated_scan_value": 282367, + "id": 72060701547401940, + "id64": 72060701547401940, + "is_main_star": null, + "name": "Laphria", + "subtype": "Earth-like world", + "terraforming_state": "Terraformed", + "type": "Planet" + }, + { + "distance_to_arrival": 394.324154, + "estimated_mapping_value": 363161, + "estimated_scan_value": 99953, + "id": 144118295585329900, + "id64": 144118295585329900, + "is_main_star": null, + "name": "Artemis 3", + "subtype": "Water world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 394.34041, + "estimated_mapping_value": 53060, + "estimated_scan_value": 14604, + "id": 180147092604293860, + "id64": 180147092604293860, + "is_main_star": null, + "name": "Artemis 4", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 3212.524581, + "estimated_mapping_value": 4558, + "estimated_scan_value": 1201, + "id": 288233483661185700, + "id64": 288233483661185700, + "is_main_star": null, + "name": "Agrotera", + "subtype": "Class IV gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 3214.584439, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 324262280680149700, + "id64": 324262280680149700, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Silicate Vapour Gas Vent", + "type": "Gas Vent", + "value": 0 + }, + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } ], - "power_state": "Exploited", - "primary_economy": "Tourism", - "region": "Inner Orion Spur", - "secondary_economy": "Industrial", - "security": "Medium", - "stations": [ - { - "distance_to_arrival": 0, - "has_large_pad": true, - "has_market": true, - "large_pads": 8, - "market_id": 3704059648, - "medium_pads": 4, - "name": "T9Z-3VK", - "small_pads": 4, - "type": "Drake-Class Carrier" - }, - { - "distance_to_arrival": 2133.247361, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 1, - "market_id": 129028579, - "medium_pads": 2, - "name": "The Legacy", - "small_pads": 4, - "type": "Mega ship" - }, - { - "distance_to_arrival": 0, - "has_large_pad": true, - "has_market": true, - "large_pads": 8, - "market_id": 3707601408, - "medium_pads": 4, - "name": "K9X-N0F", - "small_pads": 4, - "type": "Drake-Class Carrier" - }, - { - "distance_to_arrival": 2133.246945, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "large_pads": 7, - "market_id": 128169720, - "medium_pads": 8, - "name": "Freeholm", - "small_pads": 4, - "type": "Asteroid base" - }, - { - "distance_to_arrival": 238.483411, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 9, - "market_id": 128130296, - "medium_pads": 18, - "name": "Laphrian Shipyard", - "small_pads": 17, - "type": "Orbis Starport" - }, - { - "distance_to_arrival": 179.648972, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3224092928, - "medium_pads": 1, - "name": "Burckhardt Station", - "small_pads": 2, - "type": "Outpost" - }, - { - "distance_to_arrival": 179.676302, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "large_pads": 4, - "market_id": 3513439232, - "medium_pads": 4, - "name": "Suri Base", - "small_pads": 4, - "type": "Planetary Outpost" - }, - { - "distance_to_arrival": 179.614773, - "has_large_pad": false, - "market_id": 3513438720, - "name": "Merbold Terminal" - }, - { - "distance_to_arrival": 179.702038, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3856041472, - "medium_pads": 0, - "name": "Dykul Engineering Depot", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 179.684627, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3856041216, - "medium_pads": 0, - "name": "Keita Astrophysics Lab", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 179.702051, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3856041984, - "medium_pads": 0, - "name": "Zoungrana Metallurgic Hub", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 179.614773, - "has_large_pad": false, - "market_id": 3513438976, - "name": "Agassiz's Inheritance ++" - }, - { - "distance_to_arrival": 179.614773, - "has_large_pad": false, - "market_id": 3513440000, - "name": "Clapperton Plant" - }, - { - "distance_to_arrival": 179.666517, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3856041728, - "medium_pads": 0, - "name": "Dabral's Productions", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 3214.172068, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3856042752, - "medium_pads": 0, - "name": "Frank Industrial Hub", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 3235.393448, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3856043264, - "medium_pads": 0, - "name": "Schmitt's Genetics", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 3214.128109, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3856043008, - "medium_pads": 0, - "name": "Breguet Engineering Facility", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 3224.994405, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3856043520, - "medium_pads": 1, - "name": "Cox's Nest", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 3208.300523, - "has_large_pad": false, - "market_id": 3513439488, - "name": "Potter Barracks" - }, + "name": "Agrotera a", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 3210.755531, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 360291077699113660, + "id64": 360291077699113660, + "is_main_star": null, + "name": "Agrotera b", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 3201.264593, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 396319874718077630, + "id64": 396319874718077630, + "is_main_star": null, + "landmark_value": 2362000, + "landmarks": [ { - "distance_to_arrival": 3225.546644, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3856042240, - "medium_pads": 0, - "name": "Reyes Analysis Centre", - "small_pads": 1, - "type": "Settlement" + "count": 8, + "subtype": "Stratum Paleas", + "type": "Stratum", + "value": 1362000 }, { - "distance_to_arrival": 3207.393086, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "large_pads": 2, - "market_id": 3790141184, - "medium_pads": 2, - "name": "Stanley Installation", - "small_pads": 4, - "type": "Planetary Outpost" + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 3199.720082, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3856042496, - "medium_pads": 0, - "name": "Mathibeli Hydroponics Nursery", - "small_pads": 2, - "type": "Settlement" + "count": 6, + "subtype": "Bacterium Aurasus", + "type": "Bacterium", + "value": 1000000 } ], - "thargoid_war_failure_state": "None", - "thargoid_war_state": "None", - "thargoid_war_success_state": "None", - "updated_at": "2024-12-19 15:47:55+00", - "x": 14.28125, - "y": -63.1875, - "z": -24.875 - }, - "type": "system" - }, - { - "record": { - "age": 1432, - "atmosphere": "No atmosphere", - "axis_tilt": 0.198205, - "body_id": 0, + "name": "Agrotera c", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + } + ], + "body_count": 9, + "controlling_minor_faction": "East India Company", + "controlling_minor_faction_state": "Expansion", + "controlling_power": "Denton Patreus", + "estimated_mapping_value": 1562659, + "estimated_scan_value": 429651, + "government": "Corporate", + "id64": 3107509474002, + "known_permit": false, + "landmark_value": 2362000, + "minor_faction_presences": [ + { + "influence": 0.094094, + "name": "Artemis Blue Universal Exchange", + "state": "Civil War" + }, + { + "influence": 0.094094, + "name": "Artemis Empire Assembly", + "state": "Civil War" + }, + { + "influence": 0.01001, + "name": "Artemis Gold Partnership", + "state": "None" + }, + { + "influence": 0.131131, + "name": "Artemis Holdings", + "state": "None" + }, + { + "influence": 0.209209, + "name": "Artemis Resistance", + "state": "None" + }, + { + "influence": 0.461461, + "name": "East India Company", + "state": "Expansion" + } + ], + "name": "Artemis", + "needs_permit": false, + "population": 1525606, + "power": [ + "Denton Patreus", + "Li Yong-Rui", + "Zemina Torval", + "Jerome Archer" + ], + "power_state": "Exploited", + "primary_economy": "Tourism", + "region": "Inner Orion Spur", + "secondary_economy": "Industrial", + "security": "Medium", + "stations": [ + { + "distance_to_arrival": 179.595801, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3224092928, + "medium_pads": 1, + "name": "Burckhardt Station", + "small_pads": 2, + "type": "Outpost" + }, + { + "distance_to_arrival": 2133.247361, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 1, + "market_id": 129028579, + "medium_pads": 2, + "name": "The Legacy", + "small_pads": 4, + "type": "Mega ship" + }, + { "distance_to_arrival": 0, - "estimated_mapping_value": 4594, - "estimated_scan_value": 1212, - "id64": 3107509474002, - "is_main_star": true, - "luminosity_class": "V", - "name": "Artemis", - "rotational_period": 3.8695301571875, - "solar_masses": 0.6875, - "solar_radius": 0.810638355140187, - "spectral_class": "K3", - "subtype": "K (Yellow-Orange) Star", - "surface_temperature": 4634, - "system_controlling_power": "Denton Patreus", - "system_id64": 3107509474002, - "system_name": "Artemis", - "system_power_state": "Exploited", - "system_region": "Inner Orion Spur", - "system_x": 14.28125, - "system_y": -63.1875, - "system_z": -24.875, - "type": "Star", - "updated_at": "2024-12-19 15:47:55+00" - }, - "type": "body" - } - ] + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3707601408, + "medium_pads": 4, + "name": "K9X-N0F", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 2133.246945, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 7, + "market_id": 128169720, + "medium_pads": 8, + "name": "Freeholm", + "small_pads": 4, + "type": "Asteroid base" + }, + { + "distance_to_arrival": 238.506566, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 9, + "market_id": 128130296, + "medium_pads": 18, + "name": "Laphrian Shipyard", + "small_pads": 17, + "type": "Orbis Starport" + }, + { + "distance_to_arrival": 179.607713, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 4, + "market_id": 3513439232, + "medium_pads": 4, + "name": "Suri Base", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 179.585062, + "has_large_pad": false, + "market_id": 3513438720, + "name": "Merbold Terminal" + }, + { + "distance_to_arrival": 179.666517, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3856041728, + "medium_pads": 0, + "name": "Dabral's Productions", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 179.585062, + "has_large_pad": false, + "market_id": 3513438976, + "name": "Agassiz's Inheritance ++" + }, + { + "distance_to_arrival": 179.585062, + "has_large_pad": false, + "market_id": 3513440000, + "name": "Clapperton Plant" + }, + { + "distance_to_arrival": 179.702038, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3856041472, + "medium_pads": 0, + "name": "Dykul Engineering Depot", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 179.702051, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3856041984, + "medium_pads": 0, + "name": "Zoungrana Metallurgic Hub", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 179.684627, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3856041216, + "medium_pads": 0, + "name": "Keita Astrophysics Lab", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 3235.393448, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3856043264, + "medium_pads": 0, + "name": "Schmitt's Genetics", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 3214.172068, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3856042752, + "medium_pads": 0, + "name": "Frank Industrial Hub", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 3214.128109, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3856043008, + "medium_pads": 0, + "name": "Breguet Engineering Facility", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 3224.994405, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3856043520, + "medium_pads": 1, + "name": "Cox's Nest", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 3210.755531, + "has_large_pad": false, + "market_id": 3513439488, + "name": "Potter Barracks" + }, + { + "distance_to_arrival": 3225.546644, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3856042240, + "medium_pads": 0, + "name": "Reyes Analysis Centre", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 3199.720082, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3856042496, + "medium_pads": 0, + "name": "Mathibeli Hydroponics Nursery", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 3207.393086, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 2, + "market_id": 3790141184, + "medium_pads": 2, + "name": "Stanley Installation", + "small_pads": 4, + "type": "Planetary Outpost" + } + ], + "thargoid_war_failure_state": "None", + "thargoid_war_state": "None", + "thargoid_war_success_state": "None", + "updated_at": "2025-01-04 00:40:54+00", + "x": 14.28125, + "y": -63.1875, + "z": -24.875 + } } \ No newline at end of file diff --git a/Tests/Properties/SpanshQuickStarSystemHyadesSector_DL_X_b1_2.json b/Tests/Properties/SpanshQuickStarSystemHyadesSector_DL_X_b1_2.json index 3d2ad28686..fbc6695cb0 100644 --- a/Tests/Properties/SpanshQuickStarSystemHyadesSector_DL_X_b1_2.json +++ b/Tests/Properties/SpanshQuickStarSystemHyadesSector_DL_X_b1_2.json @@ -1,79 +1,302 @@ { - "count": 2, - "query": "5068463809865", - "results": [ - { - "record": { - "bodies": [], - "body_count": 23, - "estimated_mapping_value": 1022506, - "estimated_scan_value": 279928, - "government": "None", - "id64": 5068463809865, - "known_permit": false, - "landmark_value": 0, - "name": "Hyades Sector DL-X b1-2", - "needs_permit": false, - "population": 0, - "primary_economy": "None", - "region": "Inner Orion Spur", - "secondary_economy": "None", - "security": "Anarchy", - "thargoid_war_failure_state": "None", - "thargoid_war_state": "None", - "thargoid_war_success_state": "None", - "updated_at": "2024-12-08 13:36:45+00", - "x": -43.6875, - "y": -99.21875, - "z": -237.8125 - }, - "type": "system" - }, - { - "record": { - "age": 586, - "atmosphere": "No atmosphere", - "axis_tilt": 0, - "belts": [ - { - "inner_radius": 717270000, - "mass": 54671000000000, - "name": "Hyades Sector DL-X b1-2 A Belt", - "outer_radius": 1728000000, - "type": "Metal Rich" - }, - { - "inner_radius": 63166000000, - "mass": 878220000000000, - "name": "Hyades Sector DL-X b1-2 B Belt", - "outer_radius": 159170000000, - "type": "Icy" - } - ], - "body_id": 0, + "record": { + "bodies": [ + { "distance_to_arrival": 0, "estimated_mapping_value": 4574, "estimated_scan_value": 1206, + "id": 5068463809865, "id64": 5068463809865, "is_main_star": true, - "luminosity_class": "Va", "name": "Hyades Sector DL-X b1-2", - "rotational_period": 1.93991731960648, - "solar_masses": 0.367188, - "solar_radius": 0.53295891876348, - "spectral_class": "M4", "subtype": "M (Red dwarf) Star", - "surface_temperature": 2993, - "system_id64": 5068463809865, - "system_name": "Hyades Sector DL-X b1-2", - "system_region": "Inner Orion Spur", - "system_x": -43.6875, - "system_y": -99.21875, - "system_z": -237.8125, - "type": "Star", - "updated_at": "2024-12-08 13:36:51+00" - }, - "type": "body" - } - ] + "type": "Star" + }, + { + "distance_to_arrival": 7.432826, + "estimated_mapping_value": 44536, + "estimated_scan_value": 12258, + "id": 180149053558629700, + "id64": 180149053558629700, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 1", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 12.696541, + "estimated_mapping_value": 51178, + "estimated_scan_value": 14086, + "id": 216177850577593660, + "id64": 216177850577593660, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 2", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 21.977358, + "estimated_mapping_value": 49354, + "estimated_scan_value": 13584, + "id": 252206647596557630, + "id64": 252206647596557630, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 3", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 38.138871, + "estimated_mapping_value": 52733, + "estimated_scan_value": 14514, + "id": 288235444615521600, + "id64": 288235444615521600, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 4", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 70.811433, + "estimated_mapping_value": 376696, + "estimated_scan_value": 103678, + "id": 360293038653449540, + "id64": 360293038653449540, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 5", + "subtype": "Water world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 70.372731, + "estimated_mapping_value": 368647, + "estimated_scan_value": 101463, + "id": 396321835672413500, + "id64": 396321835672413500, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 6", + "subtype": "Water world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 121.193351, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 432350632691377500, + "id64": 432350632691377500, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 7", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 843.775461, + "estimated_mapping_value": 17585, + "estimated_scan_value": 4840, + "id": 792638602881017200, + "id64": 792638602881017200, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 8", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 843.973713, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 864696196918945200, + "id64": 864696196918945200, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 8 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 845.790295, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 900724993937909100, + "id64": 900724993937909100, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 8 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 839.797623, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 936753790956873100, + "id64": 936753790956873100, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 8 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 849.5578, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 972782587975837000, + "id64": 972782587975837000, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 8 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 850.546434, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.008811384994801e+18, + "id64": 1.008811384994801e+18, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 8 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1217.02067, + "estimated_mapping_value": 17315, + "estimated_scan_value": 4766, + "id": 1.1889553700896207e+18, + "id64": 1.1889553700896207e+18, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 9", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1218.769019, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2610129641275487e+18, + "id64": 1.2610129641275487e+18, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 9 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1216.517157, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2970417611465126e+18, + "id64": 1.2970417611465126e+18, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 9 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1211.460201, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.3330705581654766e+18, + "id64": 1.3330705581654766e+18, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 9 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1219.368899, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.3690993551844406e+18, + "id64": 1.3690993551844406e+18, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 9 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1212.84238, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.4411569492223685e+18, + "id64": 1.4411569492223685e+18, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 9 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1212.78229, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.4771857462413325e+18, + "id64": 1.4771857462413325e+18, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 9 f", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1497.578075, + "estimated_mapping_value": 10968, + "estimated_scan_value": 3019, + "id": 1.5852721372982244e+18, + "id64": 1.5852721372982244e+18, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 10", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2182.543554, + "estimated_mapping_value": 2268, + "estimated_scan_value": 514, + "id": 1.8014449194120082e+18, + "id64": 1.8014449194120082e+18, + "is_main_star": null, + "name": "Hyades Sector DL-X b1-2 11", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + } + ], + "body_count": 23, + "estimated_mapping_value": 1022506, + "estimated_scan_value": 279928, + "government": "None", + "id64": 5068463809865, + "known_permit": false, + "landmark_value": 0, + "name": "Hyades Sector DL-X b1-2", + "needs_permit": false, + "population": 0, + "primary_economy": "None", + "region": "Inner Orion Spur", + "secondary_economy": "None", + "security": "Anarchy", + "thargoid_war_failure_state": "None", + "thargoid_war_state": "None", + "thargoid_war_success_state": "None", + "updated_at": "2025-01-02 16:45:49+00", + "x": -43.6875, + "y": -99.21875, + "z": -237.8125 + } } \ No newline at end of file diff --git a/Tests/Properties/SpanshQuickStarSystemKaushpoos.json b/Tests/Properties/SpanshQuickStarSystemKaushpoos.json new file mode 100644 index 0000000000..f04abd5dfb --- /dev/null +++ b/Tests/Properties/SpanshQuickStarSystemKaushpoos.json @@ -0,0 +1,854 @@ +{ + "record": { + "allegiance": "Independent", + "bodies": [ + { + "distance_to_arrival": 0, + "estimated_mapping_value": 4568, + "estimated_scan_value": 1204, + "id": 5069001205129, + "id64": 5069001205129, + "is_main_star": true, + "name": "Kaushpoos", + "subtype": "M (Red dwarf) Star", + "type": "Star" + }, + { + "distance_to_arrival": 8.263758, + "estimated_mapping_value": 55596, + "estimated_scan_value": 15302, + "id": 180149054096024960, + "id64": 180149054096024960, + "is_main_star": null, + "name": "Kaushpoos 1", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 556.985749, + "estimated_mapping_value": 17377, + "estimated_scan_value": 4783, + "id": 684552212361520500, + "id64": 684552212361520500, + "is_main_star": null, + "name": "Kaushpoos 2", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 556.512108, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 792638603418412400, + "id64": 792638603418412400, + "is_main_star": null, + "name": "Kaushpoos 2 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 555.482596, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 828667400437376400, + "id64": 828667400437376400, + "is_main_star": null, + "name": "Kaushpoos 2 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 561.138833, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 864696197456340400, + "id64": 864696197456340400, + "is_main_star": null, + "name": "Kaushpoos 2 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 562.581696, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 936753791494268300, + "id64": 936753791494268300, + "is_main_star": null, + "name": "Kaushpoos 2 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 562.621202, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 972782588513232300, + "id64": 972782588513232300, + "is_main_star": null, + "name": "Kaushpoos 2 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 558.476718, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.0088113855321962e+18, + "id64": 1.0088113855321962e+18, + "is_main_star": null, + "name": "Kaushpoos 2 f", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 710.024812, + "estimated_mapping_value": 3521, + "estimated_scan_value": 890, + "id": 1.261012964664944e+18, + "id64": 1.261012964664944e+18, + "is_main_star": null, + "name": "Kaushpoos 3", + "subtype": "Gas giant with ammonia-based life", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 709.205533, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.369099355721836e+18, + "id64": 1.369099355721836e+18, + "is_main_star": null, + "name": "Kaushpoos 3 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 708.450326, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.4051281527408e+18, + "id64": 1.4051281527408e+18, + "is_main_star": null, + "name": "Kaushpoos 3 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 707.840134, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.441156949759764e+18, + "id64": 1.441156949759764e+18, + "is_main_star": null, + "name": "Kaushpoos 3 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 709.314201, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.513214543797692e+18, + "id64": 1.513214543797692e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 2, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Kaushpoos 3 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 709.290331, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.549243340816656e+18, + "id64": 1.549243340816656e+18, + "is_main_star": null, + "name": "Kaushpoos 3 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 722.538901, + "estimated_mapping_value": 12233, + "estimated_scan_value": 3367, + "id": 1.5852721378356198e+18, + "id64": 1.5852721378356198e+18, + "is_main_star": null, + "name": "Kaushpoos 4", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 722.042621, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.6573297318735478e+18, + "id64": 1.6573297318735478e+18, + "is_main_star": null, + "name": "Kaushpoos 4 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 723.34359, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.6933585288925117e+18, + "id64": 1.6933585288925117e+18, + "is_main_star": null, + "name": "Kaushpoos 4 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 723.034373, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.7293873259114757e+18, + "id64": 1.7293873259114757e+18, + "is_main_star": null, + "name": "Kaushpoos 4 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1026.38965, + "estimated_mapping_value": 12577, + "estimated_scan_value": 3462, + "id": 1.7654161229304397e+18, + "id64": 1.7654161229304397e+18, + "is_main_star": null, + "name": "Kaushpoos 5", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1027.507641, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.8735025139873316e+18, + "id64": 1.8735025139873316e+18, + "is_main_star": null, + "name": "Kaushpoos 5 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1024.265702, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.9095313110062956e+18, + "id64": 1.9095313110062956e+18, + "is_main_star": null, + "name": "Kaushpoos 5 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1028.807432, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.9815889050442235e+18, + "id64": 1.9815889050442235e+18, + "is_main_star": null, + "name": "Kaushpoos 5 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1028.814584, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.0176177020631875e+18, + "id64": 2.0176177020631875e+18, + "is_main_star": null, + "name": "Kaushpoos 5 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1026.932044, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.0536464990821514e+18, + "id64": 2.0536464990821514e+18, + "is_main_star": null, + "name": "Kaushpoos 5 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1335.691386, + "estimated_mapping_value": 13318, + "estimated_scan_value": 3666, + "id": 2.1617328901390433e+18, + "id64": 2.1617328901390433e+18, + "is_main_star": null, + "name": "Kaushpoos 6", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1334.831103, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.2698192811959352e+18, + "id64": 2.2698192811959352e+18, + "is_main_star": null, + "name": "Kaushpoos 6 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1334.563534, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.305848078214899e+18, + "id64": 2.305848078214899e+18, + "is_main_star": null, + "name": "Kaushpoos 6 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1335.733413, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.341876875233863e+18, + "id64": 2.341876875233863e+18, + "is_main_star": null, + "name": "Kaushpoos 6 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1338.256319, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.377905672252827e+18, + "id64": 2.377905672252827e+18, + "is_main_star": null, + "name": "Kaushpoos 6 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1329.145827, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.413934469271791e+18, + "id64": 2.413934469271791e+18, + "is_main_star": null, + "name": "Kaushpoos 6 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1343.771819, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.449963266290755e+18, + "id64": 2.449963266290755e+18, + "is_main_star": null, + "name": "Kaushpoos 6 f", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1341.393916, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.485992063309719e+18, + "id64": 2.485992063309719e+18, + "is_main_star": null, + "name": "Kaushpoos 6 g", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1746.900522, + "estimated_mapping_value": 2404, + "estimated_scan_value": 555, + "id": 2.558049657347647e+18, + "id64": 2.558049657347647e+18, + "is_main_star": null, + "name": "Kaushpoos 7", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1751.197741, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.630107251385575e+18, + "id64": 2.630107251385575e+18, + "is_main_star": null, + "name": "Kaushpoos 7 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + } + ], + "body_count": 35, + "controlling_minor_faction": "The Armory Coalition", + "controlling_minor_faction_state": "Boom", + "estimated_mapping_value": 181561, + "estimated_scan_value": 46729, + "government": "Corporate", + "id64": 5069001205129, + "known_permit": false, + "landmark_value": 0, + "minor_faction_presences": [ + { + "influence": 0.09018, + "name": "Future of MCC 549", + "state": "None" + }, + { + "influence": 0.063126, + "name": "Kaushpoos Power Ltd", + "state": "None" + }, + { + "influence": 0.130261, + "name": "Kaushpoos Pro-Alliance Union", + "state": "None" + }, + { + "influence": 0.06012, + "name": "Kaushpoos Purple Brotherhood", + "state": "None" + }, + { + "influence": 0.064128, + "name": "Official Kaushpoos Freedom Party", + "state": "None" + }, + { + "influence": 0.572144, + "name": "The Armory Coalition", + "state": "Boom" + }, + { + "influence": 0.02004, + "name": "Wolfram Security", + "state": "None" + } + ], + "name": "Kaushpoos", + "needs_permit": false, + "population": 11419718, + "primary_economy": "High Tech", + "region": "Inner Orion Spur", + "secondary_economy": "Refinery", + "security": "Medium", + "stations": [ + { + "distance_to_arrival": 8.263757, + "has_large_pad": true, + "has_market": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3706472704, + "medium_pads": 4, + "name": "K2V-7XQ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 8, + "market_id": 3707875584, + "medium_pads": 4, + "name": "WNZ-63Z", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 8.263755, + "has_large_pad": true, + "has_market": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3703811584, + "medium_pads": 4, + "name": "J0F-L2T", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 1346.454787, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3849845760, + "medium_pads": 1, + "name": "Syrotuk Munitions Encampment", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 727.004108, + "has_large_pad": false, + "large_pads": 0, + "market_id": 3229105408, + "medium_pads": 1, + "name": "Norgay Port", + "small_pads": 2, + "type": "Outpost" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3706465280, + "medium_pads": 4, + "name": "K2V-75L", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 8.239465, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 7, + "market_id": 3229104896, + "medium_pads": 11, + "name": "Neville Horizons", + "small_pads": 8, + "type": "Coriolis Starport" + }, + { + "distance_to_arrival": 612.234833, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3229105152, + "medium_pads": 1, + "name": "Gilliland Terminal", + "small_pads": 2, + "type": "Outpost" + }, + { + "distance_to_arrival": 556.577381, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3849840384, + "medium_pads": 1, + "name": "Ishikawa Control", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 558.476718, + "has_large_pad": false, + "market_id": 3849840128, + "name": "Leiva Agricultural Habitat" + }, + { + "distance_to_arrival": 709.314201, + "has_large_pad": false, + "market_id": 3849840640, + "name": "Gowon's Industrial" + }, + { + "distance_to_arrival": 709.314201, + "has_large_pad": false, + "market_id": 3535946240, + "name": "Godwin Prospect +" + }, + { + "distance_to_arrival": 709.314201, + "has_large_pad": false, + "market_id": 3535946496, + "name": "Biggle Landing" + }, + { + "distance_to_arrival": 709.314201, + "has_large_pad": false, + "market_id": 3535945728, + "name": "de Caminha Settlement" + }, + { + "distance_to_arrival": 707.226595, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3849841152, + "medium_pads": 0, + "name": "Malakar's Venture", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 712.871685, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3849840896, + "medium_pads": 1, + "name": "Stelmah Synthetics Workshop", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 712.870042, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 4, + "market_id": 3535945984, + "medium_pads": 4, + "name": "Verrazzano Base", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 713.846143, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 2, + "market_id": 3535945472, + "medium_pads": 2, + "name": "Sleator Arsenal", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 709.290331, + "has_large_pad": false, + "market_id": 3849836288, + "name": "Yang Industrial Facility" + }, + { + "distance_to_arrival": 709.290331, + "has_large_pad": false, + "market_id": 3849837312, + "name": "Courbet Barracks" + }, + { + "distance_to_arrival": 707.243009, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3849837568, + "medium_pads": 0, + "name": "Prevost Munitions Encampment", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 709.290331, + "has_large_pad": false, + "market_id": 3849837056, + "name": "Kapadia Hydroponics Farm" + }, + { + "distance_to_arrival": 709.290331, + "has_large_pad": false, + "market_id": 3849836544, + "name": "Parnenzini Engineering Site" + }, + { + "distance_to_arrival": 706.774252, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3849836032, + "medium_pads": 0, + "name": "Simelane Manufacturing Facility", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 746.025893, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3849838848, + "medium_pads": 0, + "name": "Kimura Arms Encampment", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 684.796506, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3849842944, + "medium_pads": 0, + "name": "Kondo Agricultural Collection", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 684.693845, + "has_large_pad": false, + "has_market": true, + "market_id": 3849843200, + "name": "Harland Nutrition Holdings", + "type": "Settlement" + }, + { + "distance_to_arrival": 731.832776, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3849837824, + "medium_pads": 0, + "name": "Dhillon Industrial Silo", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1027.507641, + "has_large_pad": false, + "market_id": 3849835008, + "name": "Hitchen's Service" + }, + { + "distance_to_arrival": 1024.878731, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3849834752, + "medium_pads": 1, + "name": "Romero's Dock", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1029.225777, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3849841408, + "medium_pads": 0, + "name": "Fiorentino Military Hub", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1028.807432, + "has_large_pad": false, + "market_id": 3849841664, + "name": "Jarvis Munitions Stockade" + }, + { + "distance_to_arrival": 1029.135597, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3849844224, + "medium_pads": 0, + "name": "Bauer Command Facility", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1026.932044, + "has_large_pad": false, + "market_id": 3849844736, + "name": "Suarez Command Garrison" + }, + { + "distance_to_arrival": 1025.663783, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3849844992, + "medium_pads": 0, + "name": "Rutten's Keep", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1341.393916, + "has_large_pad": false, + "market_id": 3849842432, + "name": "Pestille's Haven" + }, + { + "distance_to_arrival": 1751.197741, + "has_large_pad": false, + "market_id": 3849839872, + "name": "Yim Industrial Creations" + }, + { + "distance_to_arrival": 1764.460617, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3849839616, + "medium_pads": 0, + "name": "Poirier Chemical Works", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1751.197741, + "has_large_pad": false, + "market_id": 3849839104, + "name": "Riquelme's Horizon" + } + ], + "thargoid_war_failure_state": "None", + "thargoid_war_state": "None", + "thargoid_war_success_state": "None", + "updated_at": "2025-01-03 03:50:45+00", + "x": -1.90625, + "y": 65.1875, + "z": -79.65625 + } +} \ No newline at end of file diff --git a/Tests/Properties/SpanshQuickStarSystemLTT_1349.json b/Tests/Properties/SpanshQuickStarSystemLTT_1349.json new file mode 100644 index 0000000000..3421c56af3 --- /dev/null +++ b/Tests/Properties/SpanshQuickStarSystemLTT_1349.json @@ -0,0 +1,1647 @@ +{ + "record": { + "allegiance": "Empire", + "bodies": [ + { + "distance_to_arrival": 0, + "estimated_mapping_value": 4581, + "estimated_scan_value": 1208, + "id": 633675387594, + "id64": 633675387594, + "is_main_star": true, + "name": "LTT 1349", + "subtype": "M (Red dwarf) Star", + "type": "Star" + }, + { + "distance_to_arrival": 137.52155, + "estimated_mapping_value": 86105, + "estimated_scan_value": 23699, + "id": 180144618770207420, + "id64": 180144618770207420, + "is_main_star": null, + "name": "LTT 1349 1", + "subtype": "Class II gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 364.267253, + "estimated_mapping_value": 10463, + "estimated_scan_value": 2880, + "id": 216173415789171400, + "id64": 216173415789171400, + "is_main_star": null, + "name": "LTT 1349 2", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 363.802684, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 288231009827099300, + "id64": 288231009827099300, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } + ], + "name": "LTT 1349 2 a", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 365.088338, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 360288603865027260, + "id64": 360288603865027260, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } + ], + "name": "LTT 1349 2 b", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 649.226366, + "estimated_mapping_value": 3668, + "estimated_scan_value": 934, + "id": 648518980016739100, + "id64": 648518980016739100, + "is_main_star": null, + "name": "LTT 1349 3", + "subtype": "Gas giant with water-based life", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 650.551481, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 720576574054667000, + "id64": 720576574054667000, + "is_main_star": null, + "name": "LTT 1349 3 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 649.618267, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 756605371073631000, + "id64": 756605371073631000, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 1, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "LTT 1349 3 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 646.732358, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 828662965111558900, + "id64": 828662965111558900, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 + } + ], + "name": "LTT 1349 3 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 646.743195, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 864691762130522900, + "id64": 864691762130522900, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 + } + ], + "name": "LTT 1349 3 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 644.283282, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 936749356168450800, + "id64": 936749356168450800, + "is_main_star": null, + "name": "LTT 1349 3 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 644.266058, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 972778153187414800, + "id64": 972778153187414800, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 6, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 6, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "LTT 1349 3 e a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 642.876544, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.0088069502063788e+18, + "id64": 1.0088069502063788e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 + } + ], + "name": "LTT 1349 3 f", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 640.780441, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.1168933412632707e+18, + "id64": 1.1168933412632707e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 + } + ], + "name": "LTT 1349 3 g", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 826.36362, + "estimated_mapping_value": 3631, + "estimated_scan_value": 923, + "id": 1.1529221382822346e+18, + "id64": 1.1529221382822346e+18, + "is_main_star": null, + "name": "LTT 1349 4", + "subtype": "Gas giant with water-based life", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 828.147815, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2610085293391265e+18, + "id64": 1.2610085293391265e+18, + "is_main_star": null, + "name": "LTT 1349 4 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 824.438742, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2970373263580905e+18, + "id64": 1.2970373263580905e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "LTT 1349 4 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 830.40255, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.3330661233770545e+18, + "id64": 1.3330661233770545e+18, + "is_main_star": null, + "name": "LTT 1349 4 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 832.021263, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.3690949203960184e+18, + "id64": 1.3690949203960184e+18, + "is_main_star": null, + "name": "LTT 1349 4 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 832.035369, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.4051237174149824e+18, + "id64": 1.4051237174149824e+18, + "is_main_star": null, + "name": "LTT 1349 4 d a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 819.391015, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.4411525144339464e+18, + "id64": 1.4411525144339464e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 2, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "LTT 1349 4 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 835.980698, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.5132101084718743e+18, + "id64": 1.5132101084718743e+18, + "is_main_star": null, + "name": "LTT 1349 4 f", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1132.074919, + "estimated_mapping_value": 112876, + "estimated_scan_value": 31067, + "id": 1.5852677025098022e+18, + "id64": 1.5852677025098022e+18, + "is_main_star": null, + "name": "LTT 1349 5", + "subtype": "Class II gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1132.479616, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.6212964995287662e+18, + "id64": 1.6212964995287662e+18, + "is_main_star": null, + "name": "LTT 1349 5 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1131.234843, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.6573252965477302e+18, + "id64": 1.6573252965477302e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "LTT 1349 5 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1134.033045, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.6933540935666941e+18, + "id64": 1.6933540935666941e+18, + "is_main_star": null, + "name": "LTT 1349 5 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1130.973496, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.729382890585658e+18, + "id64": 1.729382890585658e+18, + "is_main_star": null, + "name": "LTT 1349 5 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1137.801008, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.765411687604622e+18, + "id64": 1.765411687604622e+18, + "is_main_star": null, + "name": "LTT 1349 5 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1137.792083, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.801440484623586e+18, + "id64": 1.801440484623586e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 2, + "subtype": "Carbon Dioxide Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 3, + "subtype": "Carbon Dioxide Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "LTT 1349 5 e a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1122.004012, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.83746928164255e+18, + "id64": 1.83746928164255e+18, + "is_main_star": null, + "name": "LTT 1349 5 f", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1121.951168, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.873498078661514e+18, + "id64": 1.873498078661514e+18, + "is_main_star": null, + "name": "LTT 1349 5 f a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1459.879182, + "estimated_mapping_value": 14336, + "estimated_scan_value": 3946, + "id": 1.981584469718406e+18, + "id64": 1.981584469718406e+18, + "is_main_star": null, + "name": "LTT 1349 6", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1458.968451, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.0536420637563338e+18, + "id64": 2.0536420637563338e+18, + "is_main_star": null, + "name": "LTT 1349 6 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1459.488899, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.0896708607752978e+18, + "id64": 2.0896708607752978e+18, + "is_main_star": null, + "name": "LTT 1349 6 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1461.588106, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.1977572518321897e+18, + "id64": 2.1977572518321897e+18, + "is_main_star": null, + "name": "LTT 1349 6 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2129.067117, + "estimated_mapping_value": 13650, + "estimated_scan_value": 3757, + "id": 2.3058436428890813e+18, + "id64": 2.3058436428890813e+18, + "is_main_star": null, + "name": "LTT 1349 7", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2128.746803, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.3418724399080453e+18, + "id64": 2.3418724399080453e+18, + "is_main_star": null, + "name": "LTT 1349 7 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2130.557649, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.3779012369270093e+18, + "id64": 2.3779012369270093e+18, + "is_main_star": null, + "name": "LTT 1349 7 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2132.654543, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.413930033945973e+18, + "id64": 2.413930033945973e+18, + "is_main_star": null, + "name": "LTT 1349 7 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2129.41244, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.449958830964937e+18, + "id64": 2.449958830964937e+18, + "is_main_star": null, + "name": "LTT 1349 7 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2122.473481, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.485987627983901e+18, + "id64": 2.485987627983901e+18, + "is_main_star": null, + "name": "LTT 1349 7 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2122.875384, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.522016425002865e+18, + "id64": 2.522016425002865e+18, + "is_main_star": null, + "name": "LTT 1349 7 f", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + } + ], + "body_count": 42, + "controlling_minor_faction": "East India Company", + "controlling_minor_faction_state": "Expansion", + "controlling_power": "Denton Patreus", + "estimated_mapping_value": 324824, + "estimated_scan_value": 85414, + "government": "Corporate", + "id64": 633675387594, + "known_permit": false, + "landmark_value": 0, + "minor_faction_presences": [ + { + "influence": 0.69, + "name": "East India Company", + "state": "Expansion" + }, + { + "influence": 0.06, + "name": "Green Party of LTT 1349", + "state": "None" + }, + { + "influence": 0.048, + "name": "LTT 1349 Life Services", + "state": "None" + }, + { + "influence": 0.096, + "name": "LTT 1349 Patron's Principles", + "state": "Civil War" + }, + { + "influence": 0.01, + "name": "LTT 1349 Silver Gang", + "state": "None" + }, + { + "influence": 0.096, + "name": "LTT 1349 Transport Industry", + "state": "Civil War" + } + ], + "name": "LTT 1349", + "needs_permit": false, + "population": 12356357, + "power": [ + "Denton Patreus", + "Li Yong-Rui", + "Zemina Torval", + "Jerome Archer" + ], + "power_state": "Fortified", + "primary_economy": "High Tech", + "region": "Inner Orion Spur", + "secondary_economy": "Refinery", + "security": "Medium", + "stations": [ + { + "distance_to_arrival": 648.77043, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806881536, + "medium_pads": 0, + "name": "Gorbanenko Cultivation Site", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2119.953382, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806875392, + "medium_pads": 1, + "name": "Akinjide's Point", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1132.546838, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806878208, + "medium_pads": 0, + "name": "Kikuchi's Resolve", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2123.884692, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806880000, + "medium_pads": 0, + "name": "Accardo Manufacturing Facility", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 644.284866, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806882304, + "medium_pads": 1, + "name": "Wilkinson Arms Garrison", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "market_id": 3703739648, + "name": "QHB-N1V", + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 829.396449, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806878720, + "medium_pads": 1, + "name": "Miyazaki Honour", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1133.806188, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806878464, + "medium_pads": 1, + "name": "Baker's Camp", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 649.493958, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806881792, + "medium_pads": 0, + "name": "Li Botanical Holding", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 647.7958, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806882560, + "medium_pads": 0, + "name": "Araujo Agricultural Habitat", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 650.559455, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806887680, + "medium_pads": 0, + "name": "Dykul Nutrition Habitat", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1454.813677, + "has_large_pad": false, + "has_market": true, + "market_id": 3806892544, + "name": "Deshpande Munitions Stockade", + "type": "Settlement" + }, + { + "distance_to_arrival": 110.340052, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3705270272, + "medium_pads": 4, + "name": "X2X-N3M", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 2122.901722, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806884864, + "medium_pads": 1, + "name": "Endo Military Stockade", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1461.520637, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806892800, + "medium_pads": 1, + "name": "Vidal's Camp", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 2122.020108, + "has_large_pad": false, + "has_market": true, + "market_id": 3806893312, + "name": "Leclerc Military Camp", + "type": "Settlement" + }, + { + "distance_to_arrival": 1458.760315, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806894848, + "medium_pads": 1, + "name": "Eadon Military Stockade", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 2124.967144, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806884608, + "medium_pads": 1, + "name": "Araujo's Stockade", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1459.110286, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806879232, + "medium_pads": 0, + "name": "Estrada's Obligation", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2121.557513, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806880256, + "medium_pads": 0, + "name": "Acheampong Engineering Facility", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3706005504, + "medium_pads": 4, + "name": "GHB-2TZ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 4.522683, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3707247616, + "medium_pads": 4, + "name": "K3G-35J", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 119.208796, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3703167232, + "medium_pads": 4, + "name": "Q6N-81Z", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 144.159448, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3704498688, + "medium_pads": 4, + "name": "JNL-5VX", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3708068864, + "medium_pads": 4, + "name": "KHL-W9V", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 141.467409, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 6, + "market_id": 3223529472, + "medium_pads": 12, + "name": "Lundwall City", + "small_pads": 7, + "type": "Coriolis Starport" + }, + { + "distance_to_arrival": 1286.285657, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "market_id": 3703042048, + "name": "G5Z-9VZ", + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 8599.972556, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3701001216, + "medium_pads": 4, + "name": "V0F-16N", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 363.701305, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3223529728, + "medium_pads": 1, + "name": "Aitken Vision", + "small_pads": 3, + "type": "Outpost" + }, + { + "distance_to_arrival": 2128.93386, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3223529984, + "medium_pads": 1, + "name": "Gelfand Survey", + "small_pads": 2, + "type": "Outpost" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3702321152, + "medium_pads": 4, + "name": "K8G-7VK", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 363.802684, + "has_large_pad": false, + "market_id": 3806893568, + "name": "Oyawale Arms Base" + }, + { + "distance_to_arrival": 363.887479, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806894336, + "medium_pads": 0, + "name": "Boulaid Botanical Range", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 363.802684, + "has_large_pad": false, + "market_id": 3806894080, + "name": "Laister's Productions" + }, + { + "distance_to_arrival": 364.306806, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806893824, + "medium_pads": 0, + "name": "Melo's Constructions", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 365.088338, + "has_large_pad": false, + "market_id": 3511278592, + "name": "Lupoff Point" + }, + { + "distance_to_arrival": 364.045759, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806892032, + "medium_pads": 1, + "name": "Kikelomo Arms Installation", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 364.33721, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806891776, + "medium_pads": 1, + "name": "Hartmann Military Enterprise", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 364.757089, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806892288, + "medium_pads": 1, + "name": "Dukhnovenko Synthetics Base", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 650.551481, + "has_large_pad": false, + "market_id": 3806881024, + "name": "Toussaint Outpost" + }, + { + "distance_to_arrival": 649.739981, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806881280, + "medium_pads": 0, + "name": "Golub's Garden", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 648.399774, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806880768, + "medium_pads": 0, + "name": "Bojti Outpost", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 650.911787, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806888704, + "medium_pads": 0, + "name": "Abiodun's Plantation", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 649.618267, + "has_large_pad": false, + "market_id": 3806887424, + "name": "Abebe Entertainment Complex" + }, + { + "distance_to_arrival": 649.618267, + "has_large_pad": false, + "market_id": 3806888192, + "name": "Chaly Horticultural Enterprise" + }, + { + "distance_to_arrival": 649.157376, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806887936, + "medium_pads": 0, + "name": "Jang Cultivation Holdings", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 649.618267, + "has_large_pad": false, + "market_id": 3806888448, + "name": "Baek Nutritional" + }, + { + "distance_to_arrival": 651.674756, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806886144, + "medium_pads": 0, + "name": "Vogel Botanical Biosphere", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 651.674464, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806886656, + "medium_pads": 0, + "name": "Richter Nutrition Site", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 649.850725, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806886400, + "medium_pads": 0, + "name": "Vargas Horticultural", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 646.732358, + "has_large_pad": false, + "market_id": 3806885632, + "name": "Sauer Defence Encampment" + }, + { + "distance_to_arrival": 644.283282, + "has_large_pad": false, + "market_id": 3806882816, + "name": "Carrasco Botanical Collection" + }, + { + "distance_to_arrival": 644.266058, + "has_large_pad": false, + "market_id": 3806876416, + "name": "Conde Cultivation Facility" + }, + { + "distance_to_arrival": 644.940028, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806876672, + "medium_pads": 0, + "name": "Brunt's Plantation", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 644.266058, + "has_large_pad": false, + "market_id": 3806875904, + "name": "Lagarde Munitions Complex" + }, + { + "distance_to_arrival": 649.403443, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806876928, + "medium_pads": 0, + "name": "Ghatak Hydroponics Garden", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 644.266058, + "has_large_pad": false, + "market_id": 3806876160, + "name": "Acheampong's Barracks" + }, + { + "distance_to_arrival": 642.876544, + "has_large_pad": false, + "market_id": 3511279104, + "name": "Volterra Horizons" + }, + { + "distance_to_arrival": 643.029182, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806891008, + "medium_pads": 1, + "name": "Adebowale Military Encampment", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 643.679241, + "has_large_pad": true, + "has_outfitting": true, + "large_pads": 4, + "market_id": 3511278848, + "medium_pads": 4, + "name": "Reed Terminal", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 642.876544, + "has_large_pad": false, + "market_id": 3806891520, + "name": "Toro Nutrition Holding" + }, + { + "distance_to_arrival": 642.876544, + "has_large_pad": false, + "market_id": 3806890752, + "name": "Bojti Manufacturing Silo" + }, + { + "distance_to_arrival": 657.699258, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806896640, + "medium_pads": 1, + "name": "Hair Engineering Base", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 658.496283, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 4, + "market_id": 3511279360, + "medium_pads": 4, + "name": "Greenstein Bastion", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 823.903753, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806896384, + "medium_pads": 1, + "name": "Cardoso Munitions Hub", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 824.497425, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806889216, + "medium_pads": 0, + "name": "Lin Defence Outpost", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 823.545236, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806888960, + "medium_pads": 1, + "name": "Mnogogrishny's Expedition", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 830.40255, + "has_large_pad": false, + "market_id": 3806878976, + "name": "Salinas Outpost" + }, + { + "distance_to_arrival": 822.098374, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806877184, + "medium_pads": 0, + "name": "Gibbs Defence Hub", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 819.181726, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806895872, + "medium_pads": 1, + "name": "Galitzki Command Site", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 822.154814, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806895616, + "medium_pads": 0, + "name": "Gomes Military Fortification", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 830.691056, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806883584, + "medium_pads": 0, + "name": "Pan Engineering Base", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 819.3921, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806883072, + "medium_pads": 1, + "name": "Geeson Command Site", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 823.088008, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806883840, + "medium_pads": 0, + "name": "Rutten Manufacturing Hub", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 822.475473, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806890240, + "medium_pads": 0, + "name": "Yao Manufacturing Facility", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 816.734997, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806889984, + "medium_pads": 0, + "name": "Kondo Armament", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 835.323472, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806890496, + "medium_pads": 0, + "name": "Nkoana Engineering Base", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1132.479616, + "has_large_pad": false, + "market_id": 3806874112, + "name": "Berezuk Munitions Outpost" + }, + { + "distance_to_arrival": 1131.512501, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806874624, + "medium_pads": 0, + "name": "Mahto's Forge", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1132.479616, + "has_large_pad": false, + "market_id": 3511280128, + "name": "White Settlement" + }, + { + "distance_to_arrival": 1133.491921, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806874368, + "medium_pads": 0, + "name": "Ricci Arms Encampment", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1132.476985, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806886912, + "medium_pads": 1, + "name": "Ptaszynski Defence Installation", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1131.417724, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806887168, + "medium_pads": 1, + "name": "Kikelomo Command Base", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1131.804115, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806885120, + "medium_pads": 1, + "name": "Estrada Watch", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1126.753965, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806885376, + "medium_pads": 0, + "name": "Cardoso's Outpost", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1122.364514, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806877952, + "medium_pads": 0, + "name": "Altadonna Command Outpost", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1139.535018, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806877696, + "medium_pads": 0, + "name": "Busch Military Fort", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1130.477108, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806884352, + "medium_pads": 0, + "name": "Winstone Defence Facility", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1457.255215, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3806879488, + "medium_pads": 0, + "name": "Hilborn Munitions Enterprise", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1453.942465, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806894592, + "medium_pads": 1, + "name": "Okamoto Honour", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2127.700312, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806875648, + "medium_pads": 1, + "name": "Mannan Defence Barracks", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2130.557649, + "has_large_pad": false, + "market_id": 3806889472, + "name": "Farias Defence Site" + }, + { + "distance_to_arrival": 2128.193118, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806893056, + "medium_pads": 1, + "name": "Ponce's Liberty", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 2132.682008, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3806879744, + "medium_pads": 1, + "name": "Shewayish Manufacturing Enterprise", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2122.875384, + "has_large_pad": false, + "market_id": 3806880512, + "name": "Yim's Armoury" + } + ], + "thargoid_war_failure_state": "None", + "thargoid_war_state": "None", + "thargoid_war_success_state": "None", + "updated_at": "2025-01-03 23:15:38+00", + "x": 17.15625, + "y": -66.96875, + "z": -29.3125 + } +} \ No newline at end of file diff --git a/Tests/Properties/SpanshQuickStarSystemOmegaSector_DM_M_b7_16.json b/Tests/Properties/SpanshQuickStarSystemOmegaSector_DM_M_b7_16.json index 227aab0d0d..bc9211f954 100644 --- a/Tests/Properties/SpanshQuickStarSystemOmegaSector_DM_M_b7_16.json +++ b/Tests/Properties/SpanshQuickStarSystemOmegaSector_DM_M_b7_16.json @@ -1,574 +1,567 @@ { - "count": 1, - "query": "35835461971465", - "results": [ - { - "record": { - "bodies": [ - { - "distance_to_arrival": 0, - "estimated_mapping_value": 4578, - "estimated_scan_value": 1207, - "id": 36064632480935430, - "id64": 36064632480935430, - "is_main_star": true, - "name": "Omega Sector DM-M b7-16 A", - "subtype": "M (Red dwarf) Star", - "type": "Star" - }, - { - "distance_to_arrival": 189794.564566, - "estimated_mapping_value": 4571, - "estimated_scan_value": 1205, - "id": 108122226518863380, - "id64": 108122226518863380, - "is_main_star": false, - "name": "Omega Sector DM-M b7-16 B", - "subtype": "M (Red dwarf) Star", - "type": "Star" - }, - { - "distance_to_arrival": 190048.367022, - "estimated_mapping_value": 4561, - "estimated_scan_value": 1202, - "id": 216208617575755260, - "id64": 216208617575755260, - "is_main_star": false, - "name": "Omega Sector DM-M b7-16 C", - "subtype": "L (Brown dwarf) Star", - "type": "Star" - }, - { - "distance_to_arrival": 190047.00114, - "estimated_mapping_value": 4558, - "estimated_scan_value": 1201, - "id": 252237414594719230, - "id64": 252237414594719230, - "is_main_star": false, - "name": "Omega Sector DM-M b7-16 D", - "subtype": "T (Brown dwarf) Star", - "type": "Star" - }, - { - "distance_to_arrival": 190061.854838, - "estimated_mapping_value": 4554, - "estimated_scan_value": 1200, - "id": 288266211613683200, - "id64": 288266211613683200, - "is_main_star": false, - "name": "Omega Sector DM-M b7-16 E", - "subtype": "T (Brown dwarf) Star", - "type": "Star" - }, - { - "distance_to_arrival": 10.308674, - "estimated_mapping_value": 51348, - "estimated_scan_value": 14133, - "id": 504438993727467000, - "id64": 504438993727467000, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Silicate Magma Lava Spout", - "type": "Lava Spout", - "value": 0 - } - ], - "name": "Omega Sector DM-M b7-16 A 1", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1173.491233, - "estimated_mapping_value": 106212, - "estimated_scan_value": 29233, - "id": 864726963917106700, - "id64": 864726963917106700, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 2", - "subtype": "Class II gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1171.715883, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 972813354973998600, - "id64": 972813354973998600, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 2 a", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1170.625538, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1044870949011926500, - "id64": 1044870949011926500, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 2 b", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1170.638765, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1080899746030890500, - "id64": 1080899746030890500, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 2 c", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1176.959369, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1116928543049854500, - "id64": 1116928543049854500, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 2 d", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1176.861614, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1152957340068818400, - "id64": 1152957340068818400, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 2 e", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1782.305279, - "estimated_mapping_value": 3701, - "estimated_scan_value": 944, - "id": 1188986137087782400, - "id64": 1188986137087782400, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 3", - "subtype": "Gas giant with water-based life", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1781.645737, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1225014934106746400, - "id64": 1225014934106746400, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 3 a", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1782.880546, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1261043731125710300, - "id64": 1261043731125710300, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 3 b", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1776.066994, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1297072528144674300, - "id64": 1297072528144674300, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 3 c", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1776.547189, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1369130122182602200, - "id64": 1369130122182602200, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 3 d", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1776.516999, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1405158919201566200, - "id64": 1405158919201566200, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 3 e", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1771.433217, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1477216513239494100, - "id64": 1477216513239494100, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 3 f", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1771.395844, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1513245310258458000, - "id64": 1513245310258458000, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 3 g", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1769.156348, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1549274107277422000, - "id64": 1549274107277422000, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 3 h", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 1785.692608, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1585302904296386000, - "id64": 1585302904296386000, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 3 i", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 3062.411917, - "estimated_mapping_value": 14688, - "estimated_scan_value": 4043, - "id": 1621331701315350000, - "id64": 1621331701315350000, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 4", - "subtype": "Class I gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 3061.343515, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1729418092372242000, - "id64": 1729418092372242000, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 4 a", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 3062.752169, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1765446889391206000, - "id64": 1765446889391206000, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 4 b", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 3063.665569, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1801475686410169900, - "id64": 1801475686410169900, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 4 c", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 3066.873318, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1837504483429133800, - "id64": 1837504483429133800, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 4 d", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 3065.713107, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1873533280448097800, - "id64": 1873533280448097800, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 A 4 e", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 189799.226866, - "estimated_mapping_value": 44024, - "estimated_scan_value": 12117, - "id": 2053677265542917600, - "id64": 2053677265542917600, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 B 1", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 189788.942423, - "estimated_mapping_value": 43784, - "estimated_scan_value": 12051, - "id": 2089706062561881600, - "id64": 2089706062561881600, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 B 2", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 189784.048799, - "estimated_mapping_value": 45986, - "estimated_scan_value": 12657, - "id": 2125734859580845600, - "id64": 2125734859580845600, - "is_main_star": null, - "landmark_value": 1471900, - "landmarks": [ - { - "count": 1, - "subtype": "Bark Mounds", - "type": "Bark Mounds", - "value": 1471900 - } - ], - "name": "Omega Sector DM-M b7-16 B 3", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 189821.475661, - "estimated_mapping_value": 44431, - "estimated_scan_value": 12229, - "id": 2197792453618773500, - "id64": 2197792453618773500, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 B 4", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 189821.442312, - "estimated_mapping_value": 43933, - "estimated_scan_value": 12092, - "id": 2233821250637737500, - "id64": 2233821250637737500, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 B 5", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 189773.188914, - "estimated_mapping_value": 44115, - "estimated_scan_value": 12142, - "id": 2269850047656701400, - "id64": 2269850047656701400, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 B 6", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 190531.02806, - "estimated_mapping_value": 16582, - "estimated_scan_value": 4564, - "id": 2305878844675665400, - "id64": 2305878844675665400, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 BCDE 1", - "subtype": "Class I gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 189393.578125, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 2377936438713593300, - "id64": 2377936438713593300, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 BCDE 1 a", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 189392.65625, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 2413965235732557300, - "id64": 2413965235732557300, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 BCDE 1 b", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 189393.453125, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 2449994032751521300, - "id64": 2449994032751521300, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 BCDE 1 c", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 189811.73456, - "estimated_mapping_value": 11781, - "estimated_scan_value": 3243, - "id": 2486022829770485000, - "id64": 2486022829770485000, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 BCDE 2", - "subtype": "Class I gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 188931.46875, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 2594109220827377000, - "id64": 2594109220827377000, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 BCDE 2 a", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 188931.078125, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 2630138017846341000, - "id64": 2630138017846341000, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 BCDE 2 b", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 188936.40625, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 2666166814865305000, - "id64": 2666166814865305000, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 BCDE 2 c", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 188926.046875, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 2738224408903233000, - "id64": 2738224408903233000, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 BCDE 2 d", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 188926.0625, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 2774253205922197000, - "id64": 2774253205922197000, - "is_main_star": null, - "name": "Omega Sector DM-M b7-16 BCDE 2 e", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" + "record": { + "bodies": [ + { + "distance_to_arrival": 0, + "estimated_mapping_value": 4578, + "estimated_scan_value": 1207, + "id": 36064632480935430, + "id64": 36064632480935430, + "is_main_star": true, + "name": "Omega Sector DM-M b7-16 A", + "subtype": "M (Red dwarf) Star", + "type": "Star" + }, + { + "distance_to_arrival": 189794.564566, + "estimated_mapping_value": 4571, + "estimated_scan_value": 1205, + "id": 108122226518863380, + "id64": 108122226518863380, + "is_main_star": false, + "name": "Omega Sector DM-M b7-16 B", + "subtype": "M (Red dwarf) Star", + "type": "Star" + }, + { + "distance_to_arrival": 190048.367022, + "estimated_mapping_value": 4561, + "estimated_scan_value": 1202, + "id": 216208617575755260, + "id64": 216208617575755260, + "is_main_star": false, + "name": "Omega Sector DM-M b7-16 C", + "subtype": "L (Brown dwarf) Star", + "type": "Star" + }, + { + "distance_to_arrival": 190047.00114, + "estimated_mapping_value": 4558, + "estimated_scan_value": 1201, + "id": 252237414594719230, + "id64": 252237414594719230, + "is_main_star": false, + "name": "Omega Sector DM-M b7-16 D", + "subtype": "T (Brown dwarf) Star", + "type": "Star" + }, + { + "distance_to_arrival": 190061.854838, + "estimated_mapping_value": 4554, + "estimated_scan_value": 1200, + "id": 288266211613683200, + "id64": 288266211613683200, + "is_main_star": false, + "name": "Omega Sector DM-M b7-16 E", + "subtype": "T (Brown dwarf) Star", + "type": "Star" + }, + { + "distance_to_arrival": 10.308674, + "estimated_mapping_value": 51348, + "estimated_scan_value": 14133, + "id": 504438993727467000, + "id64": 504438993727467000, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Silicate Magma Lava Spout", + "type": "Lava Spout", + "value": 0 } ], - "estimated_mapping_value": 553374, - "estimated_scan_value": 148963, - "government": "None", - "id64": 35835461971465, - "known_permit": false, + "name": "Omega Sector DM-M b7-16 A 1", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1173.491233, + "estimated_mapping_value": 106212, + "estimated_scan_value": 29233, + "id": 864726963917106700, + "id64": 864726963917106700, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 2", + "subtype": "Class II gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1171.715883, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 972813354973998600, + "id64": 972813354973998600, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 2 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1170.625538, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.0448709490119265e+18, + "id64": 1.0448709490119265e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 2 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1170.638765, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.0808997460308905e+18, + "id64": 1.0808997460308905e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 2 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1176.959369, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.1169285430498545e+18, + "id64": 1.1169285430498545e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 2 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1176.861614, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.1529573400688184e+18, + "id64": 1.1529573400688184e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 2 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1782.305279, + "estimated_mapping_value": 3701, + "estimated_scan_value": 944, + "id": 1.1889861370877824e+18, + "id64": 1.1889861370877824e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 3", + "subtype": "Gas giant with water-based life", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1781.645737, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2250149341067464e+18, + "id64": 1.2250149341067464e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 3 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1782.880546, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2610437311257103e+18, + "id64": 1.2610437311257103e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 3 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1776.066994, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2970725281446743e+18, + "id64": 1.2970725281446743e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 3 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1776.547189, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.3691301221826022e+18, + "id64": 1.3691301221826022e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 3 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1776.516999, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.4051589192015662e+18, + "id64": 1.4051589192015662e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 3 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1771.433217, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.4772165132394941e+18, + "id64": 1.4772165132394941e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 3 f", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1771.395844, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.513245310258458e+18, + "id64": 1.513245310258458e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 3 g", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1769.156348, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.549274107277422e+18, + "id64": 1.549274107277422e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 3 h", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1785.692608, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.585302904296386e+18, + "id64": 1.585302904296386e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 3 i", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 3062.411917, + "estimated_mapping_value": 14688, + "estimated_scan_value": 4043, + "id": 1.62133170131535e+18, + "id64": 1.62133170131535e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 4", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 3061.343515, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.729418092372242e+18, + "id64": 1.729418092372242e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 4 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 3062.752169, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.765446889391206e+18, + "id64": 1.765446889391206e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 4 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 3063.665569, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.8014756864101699e+18, + "id64": 1.8014756864101699e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 4 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 3066.873318, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.8375044834291338e+18, + "id64": 1.8375044834291338e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 4 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 3065.713107, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.8735332804480978e+18, + "id64": 1.8735332804480978e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 A 4 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 189799.226866, + "estimated_mapping_value": 44024, + "estimated_scan_value": 12117, + "id": 2.0536772655429176e+18, + "id64": 2.0536772655429176e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 B 1", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 189788.942423, + "estimated_mapping_value": 43784, + "estimated_scan_value": 12051, + "id": 2.0897060625618816e+18, + "id64": 2.0897060625618816e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 B 2", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 189784.048799, + "estimated_mapping_value": 45986, + "estimated_scan_value": 12657, + "id": 2.1257348595808456e+18, + "id64": 2.1257348595808456e+18, + "is_main_star": null, "landmark_value": 1471900, - "name": "Omega Sector DM-M b7-16", - "needs_permit": false, - "population": 0, - "primary_economy": "None", - "region": "Inner Orion Spur", - "secondary_economy": "None", - "security": "Anarchy", - "thargoid_war_failure_state": "None", - "thargoid_war_state": "None", - "thargoid_war_success_state": "None", - "updated_at": "2020-12-04 23:21:03+00", - "x": -1477.6875, - "y": -105.65625, - "z": 5360.25 - }, - "type": "system" - } - ] + "landmarks": [ + { + "count": 2, + "subtype": "Bark Mounds", + "type": "Bark Mounds", + "value": 1471900 + } + ], + "name": "Omega Sector DM-M b7-16 B 3", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 189821.475661, + "estimated_mapping_value": 44431, + "estimated_scan_value": 12229, + "id": 2.1977924536187735e+18, + "id64": 2.1977924536187735e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 B 4", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 189821.442312, + "estimated_mapping_value": 43933, + "estimated_scan_value": 12092, + "id": 2.2338212506377375e+18, + "id64": 2.2338212506377375e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 B 5", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 189773.188914, + "estimated_mapping_value": 44115, + "estimated_scan_value": 12142, + "id": 2.2698500476567014e+18, + "id64": 2.2698500476567014e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 B 6", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 190531.02806, + "estimated_mapping_value": 16582, + "estimated_scan_value": 4564, + "id": 2.3058788446756654e+18, + "id64": 2.3058788446756654e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 BCDE 1", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 189393.578125, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.3779364387135933e+18, + "id64": 2.3779364387135933e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 BCDE 1 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 189392.65625, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.4139652357325573e+18, + "id64": 2.4139652357325573e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 BCDE 1 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 189393.453125, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.4499940327515213e+18, + "id64": 2.4499940327515213e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 BCDE 1 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 189811.73456, + "estimated_mapping_value": 11781, + "estimated_scan_value": 3243, + "id": 2.486022829770485e+18, + "id64": 2.486022829770485e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 BCDE 2", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 188931.46875, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.594109220827377e+18, + "id64": 2.594109220827377e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 BCDE 2 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 188931.078125, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.630138017846341e+18, + "id64": 2.630138017846341e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 BCDE 2 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 188936.40625, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.666166814865305e+18, + "id64": 2.666166814865305e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 BCDE 2 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 188926.046875, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.738224408903233e+18, + "id64": 2.738224408903233e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 BCDE 2 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 188926.0625, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.774253205922197e+18, + "id64": 2.774253205922197e+18, + "is_main_star": null, + "name": "Omega Sector DM-M b7-16 BCDE 2 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + } + ], + "estimated_mapping_value": 553374, + "estimated_scan_value": 148963, + "government": "None", + "id64": 35835461971465, + "known_permit": false, + "landmark_value": 1471900, + "name": "Omega Sector DM-M b7-16", + "needs_permit": false, + "population": 0, + "primary_economy": "None", + "region": "Inner Orion Spur", + "secondary_economy": "None", + "security": "Anarchy", + "thargoid_war_failure_state": "None", + "thargoid_war_state": "None", + "thargoid_war_success_state": "None", + "updated_at": "2020-12-04 23:21:03+00", + "x": -1477.6875, + "y": -105.65625, + "z": 5360.25 + } } \ No newline at end of file diff --git a/Tests/Properties/SpanshQuickStarSystemPleiadesSector_GW_W_c1_4.json b/Tests/Properties/SpanshQuickStarSystemPleiadesSector_GW_W_c1_4.json index 4cef93316e..d2b1600df8 100644 --- a/Tests/Properties/SpanshQuickStarSystemPleiadesSector_GW_W_c1_4.json +++ b/Tests/Properties/SpanshQuickStarSystemPleiadesSector_GW_W_c1_4.json @@ -1,73 +1,158 @@ { - "count": 2, - "query": "1183229809290", - "results": [ - { - "record": { - "bodies": [], - "body_count": 11, - "estimated_mapping_value": 1959194, - "estimated_scan_value": 538528, - "government": "None", - "id64": 1183229809290, - "known_permit": false, - "landmark_value": 0, - "name": "Pleiades Sector GW-W c1-4", - "needs_permit": false, - "population": 0, - "primary_economy": "None", - "region": "Inner Orion Spur", - "secondary_economy": "None", - "security": "Anarchy", - "thargoid_war_failure_state": "None", - "thargoid_war_state": "None", - "thargoid_war_success_state": "None", - "updated_at": "2024-11-04 20:36:33+00", - "x": -81.625, - "y": -151.3125, - "z": -383.53125 - }, - "type": "system" - }, - { - "record": { - "age": 5398, - "atmosphere": "No atmosphere", - "axis_tilt": 0, - "belts": [ - { - "inner_radius": 1186400000, - "mass": 1843500000, - "name": "Pleiades Sector GW-W c1-4 A Belt", - "outer_radius": 2211300000, - "type": "Metallic" - } - ], - "body_id": 0, + "record": { + "bodies": [ + { "distance_to_arrival": 0, "estimated_mapping_value": 4598, "estimated_scan_value": 1213, + "id": 1183229809290, "id64": 1183229809290, "is_main_star": true, - "is_rotational_period_tidally_locked": false, - "luminosity_class": "Vab", "name": "Pleiades Sector GW-W c1-4", - "rotational_period": 4.78646710849537, - "solar_masses": 0.769531, - "solar_radius": 0.898315410496046, - "spectral_class": "K0", "subtype": "K (Yellow-Orange) Star", - "surface_temperature": 5058, - "system_id64": 1183229809290, - "system_name": "Pleiades Sector GW-W c1-4", - "system_region": "Inner Orion Spur", - "system_x": -81.625, - "system_y": -151.3125, - "system_z": -383.53125, - "type": "Star", - "updated_at": "2024-11-04 20:36:26+00" + "type": "Star" + }, + { + "distance_to_arrival": 272.284783, + "estimated_mapping_value": 626749, + "estimated_scan_value": 172500, + "id": 324260356400485000, + "id64": 324260356400485000, + "is_main_star": null, + "name": "Pleiades Sector GW-W c1-4 1", + "subtype": "High metal content world", + "terraforming_state": "Terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 348.729612, + "estimated_mapping_value": 610373, + "estimated_scan_value": 167993, + "id": 360289153419448960, + "id64": 360289153419448960, + "is_main_star": null, + "name": "Pleiades Sector GW-W c1-4 2", + "subtype": "High metal content world", + "terraforming_state": "Terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 463.089836, + "estimated_mapping_value": 647230, + "estimated_scan_value": 178137, + "id": 396317950438412900, + "id64": 396317950438412900, + "is_main_star": null, + "name": "Pleiades Sector GW-W c1-4 3", + "subtype": "High metal content world", + "terraforming_state": "Terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 662.298537, + "estimated_mapping_value": 56138, + "estimated_scan_value": 15451, + "id": 432346747457376900, + "id64": 432346747457376900, + "is_main_star": null, + "name": "Pleiades Sector GW-W c1-4 4", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1872.792093, + "estimated_mapping_value": 2881, + "estimated_scan_value": 698, + "id": 504404341495304800, + "id64": 504404341495304800, + "is_main_star": null, + "name": "Pleiades Sector GW-W c1-4 5", + "subtype": "Gas giant with ammonia-based life", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1872.274331, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 540433138514268800, + "id64": 540433138514268800, + "is_main_star": null, + "name": "Pleiades Sector GW-W c1-4 5 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1872.57763, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 576461935533232800, + "id64": 576461935533232800, + "is_main_star": null, + "name": "Pleiades Sector GW-W c1-4 5 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1870.058631, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 612490732552196700, + "id64": 612490732552196700, + "is_main_star": null, + "name": "Pleiades Sector GW-W c1-4 5 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1866.514806, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 648519529571160700, + "id64": 648519529571160700, + "is_main_star": null, + "name": "Pleiades Sector GW-W c1-4 5 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" }, - "type": "body" - } - ] + { + "distance_to_arrival": 2598.925532, + "estimated_mapping_value": 2341, + "estimated_scan_value": 536, + "id": 1.1168938908176923e+18, + "id64": 1.1168938908176923e+18, + "is_main_star": null, + "name": "Pleiades Sector GW-W c1-4 6", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + } + ], + "body_count": 11, + "estimated_mapping_value": 1959194, + "estimated_scan_value": 538528, + "government": "None", + "id64": 1183229809290, + "known_permit": false, + "landmark_value": 0, + "name": "Pleiades Sector GW-W c1-4", + "needs_permit": false, + "population": 0, + "primary_economy": "None", + "region": "Inner Orion Spur", + "secondary_economy": "None", + "security": "Anarchy", + "thargoid_war_failure_state": "None", + "thargoid_war_state": "None", + "thargoid_war_success_state": "None", + "updated_at": "2024-11-04 20:36:33+00", + "x": -81.625, + "y": -151.3125, + "z": -383.53125 + } } \ No newline at end of file diff --git a/Tests/Properties/SpanshQuickStarSystemPleiadesSector_HR_W_d1_79.json b/Tests/Properties/SpanshQuickStarSystemPleiadesSector_HR_W_d1_79.json index bba10b4130..85799e7bde 100644 --- a/Tests/Properties/SpanshQuickStarSystemPleiadesSector_HR_W_d1_79.json +++ b/Tests/Properties/SpanshQuickStarSystemPleiadesSector_HR_W_d1_79.json @@ -1,244 +1,207 @@ { - "count": 2, - "query": "2724879894859", - "results": [ - { - "record": { - "allegiance": "Independent", - "bodies": [ - { - "distance_to_arrival": 0, - "estimated_mapping_value": 4641, - "estimated_scan_value": 1226, - "id": 2724879894859, - "id64": 2724879894859, - "is_main_star": true, - "name": "Pleiades Sector HR-W d1-79", - "subtype": "F (White) Star", - "type": "Star" - }, - { - "distance_to_arrival": 454.411581, - "estimated_mapping_value": 49252, - "estimated_scan_value": 13556, - "id": 36031521898858824, - "id64": 36031521898858824, - "is_main_star": null, - "name": "Pleiades Sector HR-W d1-79 1", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 453.886268, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 72060318917822800, - "id64": 72060318917822800, - "is_main_star": null, - "name": "Pleiades Sector HR-W d1-79 1 a", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 803.762744, - "estimated_mapping_value": 539455, - "estimated_scan_value": 148474, - "id": 108089115936786770, - "id64": 108089115936786770, - "is_main_star": null, - "landmark_value": 1689800, - "landmarks": [ - { - "count": 39, - "subtype": "Bacterium Cerbrus", - "type": "Bacterium", - "value": 1689800 - } - ], - "name": "Pleiades Sector HR-W d1-79 2", - "subtype": "High metal content world", - "terraforming_state": "Terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 3667.668117, - "estimated_mapping_value": 49634, - "estimated_scan_value": 13661, - "id": 144117912955750720, - "id64": 144117912955750720, - "is_main_star": null, - "name": "Pleiades Sector HR-W d1-79 3", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 4629.067966, - "estimated_mapping_value": 50019, - "estimated_scan_value": 13767, - "id": 180146709974714700, - "id64": 180146709974714700, - "is_main_star": null, - "name": "Pleiades Sector HR-W d1-79 4", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 5983.753193, - "estimated_mapping_value": 51712, - "estimated_scan_value": 14233, - "id": 216175506993678660, - "id64": 216175506993678660, - "is_main_star": null, - "name": "Pleiades Sector HR-W d1-79 5", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 5988.236935, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 252204304012642620, - "id64": 252204304012642620, - "is_main_star": null, - "name": "Pleiades Sector HR-W d1-79 5 a", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 9275.840035, - "estimated_mapping_value": 49656, - "estimated_scan_value": 13667, - "id": 288233101031606600, - "id64": 288233101031606600, - "is_main_star": null, - "name": "Pleiades Sector HR-W d1-79 6", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - } - ], - "body_count": 9, - "estimated_mapping_value": 798811, - "estimated_scan_value": 219584, - "government": "Prison", - "id64": 2724879894859, - "known_permit": false, - "landmark_value": 1689800, - "name": "Pleiades Sector HR-W d1-79", - "needs_permit": false, - "population": 0, - "primary_economy": "Extraction", - "region": "Inner Orion Spur", - "secondary_economy": "None", - "security": "High", - "stations": [ - { - "distance_to_arrival": 12.733588, - "has_large_pad": true, - "has_market": true, - "market_id": 3704722944, - "name": "K2V-6KM", - "type": "Drake-Class Carrier" - }, - { - "distance_to_arrival": 0, - "has_large_pad": true, - "has_market": true, - "large_pads": 8, - "market_id": 3705692672, - "medium_pads": 4, - "name": "QBX-36M", - "small_pads": 4, - "type": "Drake-Class Carrier" - }, - { - "distance_to_arrival": 739.114411, - "has_large_pad": true, - "has_market": true, - "market_id": 3701756672, - "name": "K5B-1TN", - "type": "Drake-Class Carrier" - }, - { - "distance_to_arrival": 803.77964, - "has_large_pad": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 1, - "market_id": 128833431, - "medium_pads": 2, - "name": "The Penitent", - "small_pads": 4, - "type": "Mega ship" - }, - { - "distance_to_arrival": 0, - "has_large_pad": true, - "has_market": true, - "large_pads": 8, - "market_id": 3706688256, - "medium_pads": 4, - "name": "T6Z-86N", - "small_pads": 4, - "type": "Drake-Class Carrier" - }, - { - "distance_to_arrival": 803.755358, - "has_large_pad": true, - "has_market": true, - "large_pads": 8, - "market_id": 3700423936, - "medium_pads": 4, - "name": "K5B-W9K", - "small_pads": 4, - "type": "Drake-Class Carrier" - } - ], - "thargoid_war_failure_state": "None", - "thargoid_war_state": "None", - "thargoid_war_success_state": "None", - "updated_at": "2024-12-07 22:21:04+00", - "x": -80.625, - "y": -146.65625, - "z": -343.25 - }, - "type": "system" - }, - { - "record": { - "age": 1216, - "atmosphere": "No atmosphere", - "axis_tilt": 0, - "body_id": 0, + "record": { + "allegiance": "Independent", + "bodies": [ + { "distance_to_arrival": 0, "estimated_mapping_value": 4641, "estimated_scan_value": 1226, + "id": 2724879894859, "id64": 2724879894859, "is_main_star": true, - "luminosity_class": "Vab", "name": "Pleiades Sector HR-W d1-79", - "rotational_period": 3.03146012940972, - "solar_masses": 1.4375, - "solar_radius": 1.23007190222861, - "spectral_class": "F6", "subtype": "F (White) Star", - "surface_temperature": 6591, - "system_id64": 2724879894859, - "system_name": "Pleiades Sector HR-W d1-79", - "system_region": "Inner Orion Spur", - "system_x": -80.625, - "system_y": -146.65625, - "system_z": -343.25, - "type": "Star", - "updated_at": "2024-12-04 07:09:19+00" + "type": "Star" + }, + { + "distance_to_arrival": 454.387053, + "estimated_mapping_value": 49252, + "estimated_scan_value": 13556, + "id": 36031521898858824, + "id64": 36031521898858824, + "is_main_star": null, + "name": "Pleiades Sector HR-W d1-79 1", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 454.234971, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 72060318917822800, + "id64": 72060318917822800, + "is_main_star": null, + "name": "Pleiades Sector HR-W d1-79 1 a", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 803.764599, + "estimated_mapping_value": 539455, + "estimated_scan_value": 148474, + "id": 108089115936786770, + "id64": 108089115936786770, + "is_main_star": null, + "landmark_value": 1689800, + "landmarks": [ + { + "count": 40, + "subtype": "Bacterium Cerbrus", + "type": "Bacterium", + "value": 1689800 + } + ], + "name": "Pleiades Sector HR-W d1-79 2", + "subtype": "High metal content world", + "terraforming_state": "Terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 3667.606446, + "estimated_mapping_value": 49634, + "estimated_scan_value": 13661, + "id": 144117912955750720, + "id64": 144117912955750720, + "is_main_star": null, + "name": "Pleiades Sector HR-W d1-79 3", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 4629.242274, + "estimated_mapping_value": 50019, + "estimated_scan_value": 13767, + "id": 180146709974714700, + "id64": 180146709974714700, + "is_main_star": null, + "name": "Pleiades Sector HR-W d1-79 4", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 5983.985215, + "estimated_mapping_value": 51712, + "estimated_scan_value": 14233, + "id": 216175506993678660, + "id64": 216175506993678660, + "is_main_star": null, + "name": "Pleiades Sector HR-W d1-79 5", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 5989.290685, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 252204304012642620, + "id64": 252204304012642620, + "is_main_star": null, + "name": "Pleiades Sector HR-W d1-79 5 a", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 9275.478731, + "estimated_mapping_value": 49656, + "estimated_scan_value": 13667, + "id": 288233101031606600, + "id64": 288233101031606600, + "is_main_star": null, + "name": "Pleiades Sector HR-W d1-79 6", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + } + ], + "body_count": 9, + "estimated_mapping_value": 798811, + "estimated_scan_value": 219584, + "government": "Prison", + "id64": 2724879894859, + "known_permit": false, + "landmark_value": 1689800, + "name": "Pleiades Sector HR-W d1-79", + "needs_permit": false, + "population": 0, + "primary_economy": "Extraction", + "region": "Inner Orion Spur", + "secondary_economy": "None", + "security": "High", + "stations": [ + { + "distance_to_arrival": 12.733588, + "has_large_pad": true, + "has_market": true, + "market_id": 3704722944, + "name": "K2V-6KM", + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3705692672, + "medium_pads": 4, + "name": "QBX-36M", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 739.114411, + "has_large_pad": true, + "has_market": true, + "market_id": 3701756672, + "name": "K5B-1TN", + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 803.747296, + "has_large_pad": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 1, + "market_id": 128833431, + "medium_pads": 2, + "name": "The Penitent", + "small_pads": 4, + "type": "Mega ship" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3706688256, + "medium_pads": 4, + "name": "T6Z-86N", + "small_pads": 4, + "type": "Drake-Class Carrier" }, - "type": "body" - } - ] + { + "distance_to_arrival": 803.755358, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3700423936, + "medium_pads": 4, + "name": "K5B-W9K", + "small_pads": 4, + "type": "Drake-Class Carrier" + } + ], + "thargoid_war_failure_state": "None", + "thargoid_war_state": "None", + "thargoid_war_success_state": "None", + "updated_at": "2025-01-04 02:40:54+00", + "x": -80.625, + "y": -146.65625, + "z": -343.25 + } } \ No newline at end of file diff --git a/Tests/Properties/SpanshQuickStarSystemSol.json b/Tests/Properties/SpanshQuickStarSystemSol.json index 143a290c4c..5acc3859ed 100644 --- a/Tests/Properties/SpanshQuickStarSystemSol.json +++ b/Tests/Properties/SpanshQuickStarSystemSol.json @@ -1,1689 +1,1648 @@ { - "count": 2, - "query": "10477373803", - "results": [ - { - "record": { - "allegiance": "Federation", - "bodies": [ - { - "distance_to_arrival": 0, - "estimated_mapping_value": 4614, - "estimated_scan_value": 1218, - "id": 10477373803, - "id64": 10477373803, - "is_main_star": true, - "name": "Sol", - "subtype": "G (White-Yellow) Star", - "type": "Star" - }, - { - "distance_to_arrival": 162.352908, - "estimated_mapping_value": 104250, - "estimated_scan_value": 28693, - "id": 36028807496337770, - "id64": 36028807496337770, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 2, - "subtype": "Wrecked Ship", - "type": "Wrecked Ship", - "value": 0 - }, - { - "count": 1, - "subtype": "Tourist Beacon", - "type": "Tourist Beacon", - "value": 0 - }, - { - "count": 2, - "subtype": "Crater Outpost", - "type": "Surface Station", - "value": 0 - }, - { - "count": 1, - "subtype": "Crater Port", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Mercury", - "subtype": "Metal-rich body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 363.120134, - "estimated_mapping_value": 54128, - "estimated_scan_value": 14898, - "id": 72057604515301740, - "id64": 72057604515301740, - "is_main_star": null, - "name": "Venus", - "subtype": "High metal content world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 507.288155, - "estimated_mapping_value": 1030514, - "estimated_scan_value": 283628, - "id": 108086401534265710, - "id64": 108086401534265710, - "is_main_star": null, - "name": "Earth", - "subtype": "Earth-like world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 506.699515, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 144115198553229660, - "id64": 144115198553229660, - "is_main_star": null, - "name": "Moon", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 822.6707, - "estimated_mapping_value": 896273, - "estimated_scan_value": 246681, - "id": 180143995572193630, - "id64": 180143995572193630, - "is_main_star": null, - "name": "Mars", - "subtype": "Earth-like world", - "terraforming_state": "Terraformed", - "type": "Planet" - }, - { - "distance_to_arrival": 2709.363146, - "estimated_mapping_value": 16792, - "estimated_scan_value": 4622, - "id": 252201589610121570, - "id64": 252201589610121570, - "is_main_star": null, - "name": "Jupiter", - "subtype": "Class I gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 2710.722265, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 324259183648049540, - "id64": 324259183648049540, - "is_main_star": null, - "name": "Io", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 2711.606871, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 360287980667013500, - "id64": 360287980667013500, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 22, - "subtype": "Water Ice Geyser", - "type": "Geyser", - "value": 0 - }, - { - "count": 1, - "subtype": "Installation", - "type": "Surface Station", - "value": 0 - }, - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 18, - "subtype": "Water Ice Fumarole", - "type": "Fumarole", - "value": 0 - }, - { - "count": 1, - "subtype": "Tourist Beacon", - "type": "Tourist Beacon", - "value": 0 - }, - { - "count": 1, - "subtype": "Crater Outpost", - "type": "Surface Station", - "value": 0 - }, - { - "count": 1, - "subtype": "Surface Station", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Europa", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 2711.417703, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 396316777685977500, - "id64": 396316777685977500, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 4, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 1, - "subtype": "Crater Outpost", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Ganymede", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 2714.781539, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 432345574704941440, - "id64": 432345574704941440, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 6, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 1, - "subtype": "Crater Outpost", - "type": "Surface Station", - "value": 0 - }, - { - "count": 1, - "subtype": "Surface Station", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Callisto", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 4822.811389, - "estimated_mapping_value": 14481, - "estimated_scan_value": 3986, - "id": 468374371723905400, - "id64": 468374371723905400, - "is_main_star": null, - "name": "Saturn", - "subtype": "Class I gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 4822.462757, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 540431965761833340, - "id64": 540431965761833340, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 16, - "subtype": "Water Ice Fumarole", - "type": "Fumarole", - "value": 0 - }, - { - "count": 17, - "subtype": "Water Ice Geyser", - "type": "Geyser", - "value": 0 - } - ], - "name": "Enceladus", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 4822.135562, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 576460762780797300, - "id64": 576460762780797300, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 5, - "subtype": "Water Ice Fumarole", - "type": "Fumarole", - "value": 0 - }, - { - "count": 5, - "subtype": "Water Ice Geyser", - "type": "Geyser", - "value": 0 - } - ], - "name": "Tethys", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 4823.744513, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 612489559799761300, - "id64": 612489559799761300, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 3, - "subtype": "Water Ice Fumarole", - "type": "Fumarole", - "value": 0 - }, - { - "count": 7, - "subtype": "Water Ice Geyser", - "type": "Geyser", - "value": 0 - } - ], - "name": "Dione", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 4821.509521, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 648518356818725200, - "id64": 648518356818725200, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Rhea", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 4821.743028, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 684547153837689200, - "id64": 684547153837689200, - "is_main_star": null, - "name": "Titan", - "subtype": "Rocky Ice world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 4828.080626, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 720575950856653200, - "id64": 720575950856653200, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 4, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 1, - "subtype": "Crater Outpost", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Iapetus", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 9144.147707, - "estimated_mapping_value": 11829, - "estimated_scan_value": 3256, - "id": 792633544894581100, - "id64": 792633544894581100, - "is_main_star": null, - "name": "Uranus", - "subtype": "Class I gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 9144.013, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 864691138932509000, - "id64": 864691138932509000, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 6, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Ariel", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 9143.459613, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 900719935951473000, - "id64": 900719935951473000, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Umbriel", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 9145.100226, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 936748732970437000, - "id64": 936748732970437000, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Titania", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 9146.039911, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 972777529989401000, - "id64": 972777529989401000, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 4, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Oberon", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 14912.064701, - "estimated_mapping_value": 12026, - "estimated_scan_value": 3310, - "id": 1008806327008364900, - "id64": 1008806327008364900, - "is_main_star": null, - "name": "Neptune", - "subtype": "Class I gas giant", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 14913.15383, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1080863921046292900, - "id64": 1080863921046292900, - "is_main_star": null, - "name": "Triton", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 20667.669204, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1152921515084220700, - "id64": 1152921515084220700, - "is_main_star": null, - "name": "Pluto", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 20667.643579, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1188950312103184600, - "id64": 1188950312103184600, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 2, - "subtype": "Wrecked Ship", - "type": "Wrecked Ship", - "value": 0 - } - ], - "name": "Charon", - "subtype": "Rocky body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 15915.161668, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1224979109122148600, - "id64": 1224979109122148600, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 2, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "90482 Orcus", - "subtype": "Rocky Ice world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, - { - "distance_to_arrival": 15915.190951, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1261007906141112600, - "id64": 1261007906141112600, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 2, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Vanth", - "subtype": "Rocky Ice world", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, + "record": { + "allegiance": "Federation", + "bodies": [ + { + "distance_to_arrival": 0, + "estimated_mapping_value": 4614, + "estimated_scan_value": 1218, + "id": 10477373803, + "id64": 10477373803, + "is_main_star": true, + "name": "Sol", + "subtype": "G (White-Yellow) Star", + "type": "Star" + }, + { + "distance_to_arrival": 194.443407, + "estimated_mapping_value": 104250, + "estimated_scan_value": 28693, + "id": 36028807496337770, + "id64": 36028807496337770, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 18955.399037, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1297036703160076500, - "id64": 1297036703160076500, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "(307261) 2002 MS4", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 2, + "subtype": "Wrecked Ship", + "type": "Wrecked Ship", + "value": 0 }, { - "distance_to_arrival": 18622.969752, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1333065500179040500, - "id64": 1333065500179040500, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 2, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Salacia", - "subtype": "Rocky Ice world", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 1, + "subtype": "Tourist Beacon", + "type": "Tourist Beacon", + "value": 0 }, { - "distance_to_arrival": 18622.986869, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1369094297198004500, - "id64": 1369094297198004500, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 5, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - }, - { - "count": 7, - "subtype": "Water Ice Fumarole", - "type": "Fumarole", - "value": 0 - }, - { - "count": 6, - "subtype": "Water Gas Vent", - "type": "Gas Vent", - "value": 0 - }, - { - "count": 9, - "subtype": "Water Ice Geyser", - "type": "Geyser", - "value": 0 - }, - { - "count": 1, - "subtype": "Tourist Beacon", - "type": "Tourist Beacon", - "value": 0 - } - ], - "name": "Actaea", - "subtype": "Rocky Ice world", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 2, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 25264.695295, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1405123094216968400, - "id64": 1405123094216968400, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Haumea", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" - }, + "count": 1, + "subtype": "Crater Port", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Mercury", + "subtype": "Metal-rich body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 363.247272, + "estimated_mapping_value": 54128, + "estimated_scan_value": 14898, + "id": 72057604515301740, + "id64": 72057604515301740, + "is_main_star": null, + "name": "Venus", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 506.009406, + "estimated_mapping_value": 1030514, + "estimated_scan_value": 283628, + "id": 108086401534265710, + "id64": 108086401534265710, + "is_main_star": null, + "name": "Earth", + "subtype": "Earth-like world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 504.989621, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 144115198553229660, + "id64": 144115198553229660, + "is_main_star": null, + "name": "Moon", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 828.777708, + "estimated_mapping_value": 896273, + "estimated_scan_value": 246681, + "id": 180143995572193630, + "id64": 180143995572193630, + "is_main_star": null, + "name": "Mars", + "subtype": "Earth-like world", + "terraforming_state": "Terraformed", + "type": "Planet" + }, + { + "distance_to_arrival": 2707.065413, + "estimated_mapping_value": 16792, + "estimated_scan_value": 4622, + "id": 252201589610121570, + "id64": 252201589610121570, + "is_main_star": null, + "name": "Jupiter", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2706.002065, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 324259183648049540, + "id64": 324259183648049540, + "is_main_star": null, + "name": "Io", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2706.01136, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 360287980667013500, + "id64": 360287980667013500, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 25264.806482, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1441151891235932400, - "id64": 1441151891235932400, - "is_main_star": null, - "name": "Hi'iaka", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 22, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 }, { - "distance_to_arrival": 21066.495832, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1477180688254896400, - "id64": 1477180688254896400, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Quaoar", - "subtype": "Rocky Ice world", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 1, + "subtype": "Installation", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 25456.555578, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1513209485273860400, - "id64": 1513209485273860400, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 1, - "subtype": "Settlement", - "type": "Surface Station", - "value": 0 - } - ], - "name": "Makemake", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 24001.527233, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1549238282292824300, - "id64": 1549238282292824300, - "is_main_star": null, - "name": "(225088) 2007 OR10", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 18, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 }, { - "distance_to_arrival": 39243.70747, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1585267079311788300, - "id64": 1585267079311788300, - "is_main_star": null, - "name": "Eris", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 1, + "subtype": "Tourist Beacon", + "type": "Tourist Beacon", + "value": 0 }, { - "distance_to_arrival": 290802.520293, - "estimated_mapping_value": 2221, - "estimated_scan_value": 500, - "id": 1621295876330752300, - "id64": 1621295876330752300, - "is_main_star": null, - "name": "Sedna", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 484303.100823, - "estimated_mapping_value": 2451, - "estimated_scan_value": 569, - "id": 1657324673349716200, - "id64": 1657324673349716200, - "is_main_star": null, - "landmark_value": 0, - "landmarks": [ - { - "count": 4, - "subtype": "Water Ice Fumarole", - "type": "Fumarole", - "value": 0 - }, - { - "count": 10, - "subtype": "Water Ice Geyser", - "type": "Geyser", - "value": 0 - } - ], - "name": "Persephone", - "subtype": "Icy body", - "terraforming_state": "Not terraformable", - "type": "Planet" + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 } ], - "body_count": 40, - "controlling_minor_faction": "Mother Gaia", - "controlling_minor_faction_state": "None", - "controlling_power": "Jerome Archer", - "estimated_mapping_value": 2213988, - "estimated_scan_value": 605861, - "government": "Democracy", - "id64": 10477373803, - "known_permit": true, + "name": "Europa", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2710.548663, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 396316777685977500, + "id64": 396316777685977500, + "is_main_star": null, "landmark_value": 0, - "minor_faction_presences": [ - { - "influence": 0.00998, - "name": "Aegis Core", - "state": "None" - }, - { - "influence": 0.174651, - "name": "Federal Congress", - "state": "None" - }, - { - "influence": 0.299401, - "name": "Mother Gaia", - "state": "None" - }, + "landmarks": [ { - "influence": 0.103792, - "name": "Sol Constitution Party", - "state": "None" + "count": 4, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "influence": 0.102794, - "name": "Sol Nationalists", - "state": "None" - }, - { - "influence": 0.309381, - "name": "Sol Workers' Party", - "state": "None" + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 } ], - "name": "Sol", - "needs_permit": true, - "population": 19675804719, - "power": [ - "Edmund Mahon", - "Yuri Grom", - "Jerome Archer" - ], - "power_state": "Stronghold", - "primary_economy": "Service", - "region": "Inner Orion Spur", - "secondary_economy": "Refinery", - "security": "High", - "stations": [ - { - "distance_to_arrival": 168.105447, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 9, - "market_id": 128016384, - "medium_pads": 18, - "name": "Daedalus", - "small_pads": 17, - "type": "Orbis Starport" - }, - { - "distance_to_arrival": 496.966721, - "has_large_pad": false, - "has_market": true, - "has_outfitting": true, - "market_id": 128977009, - "name": "Rescue Ship - Li Qing Jao", - "type": "Mega ship" - }, - { - "distance_to_arrival": 2708.274763, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 6, - "market_id": 128017920, - "medium_pads": 12, - "name": "Columbus", - "small_pads": 7, - "type": "Ocellus Starport" - }, - { - "distance_to_arrival": 507.291289, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 9, - "market_id": 128016896, - "medium_pads": 18, - "name": "Abraham Lincoln", - "small_pads": 17, - "type": "Orbis Starport" - }, - { - "distance_to_arrival": 822.764737, - "has_large_pad": true, - "large_pads": 9, - "market_id": 128017664, - "medium_pads": 18, - "name": "Mars High", - "small_pads": 17, - "type": "Orbis Starport" - }, - { - "distance_to_arrival": 362.981105, - "has_large_pad": false, - "has_market": true, - "has_outfitting": true, - "large_pads": 0, - "market_id": 3228719104, - "medium_pads": 1, - "name": "Burnell Station", - "small_pads": 4, - "type": "Outpost" - }, - { - "distance_to_arrival": 507.389488, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 9, - "market_id": 128017152, - "medium_pads": 18, - "name": "M.Gorbachev", - "small_pads": 17, - "type": "Orbis Starport" - }, - { - "distance_to_arrival": 506.773781, - "has_large_pad": true, - "large_pads": 9, - "market_id": 128016640, - "medium_pads": 18, - "name": "Galileo", - "small_pads": 17, - "type": "Ocellus Starport" - }, - { - "distance_to_arrival": 4819.702267, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 9, - "market_id": 128018176, - "medium_pads": 18, - "name": "Titan City", - "small_pads": 17, - "type": "Orbis Starport" - }, - { - "distance_to_arrival": 507.413148, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 6, - "market_id": 128017408, - "medium_pads": 11, - "name": "Li Qing Jao", - "small_pads": 6, - "type": "Orbis Starport" - }, - { - "distance_to_arrival": 168.323538, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 8, - "market_id": 3534390016, - "medium_pads": 8, - "name": "Ehrlich City", - "small_pads": 8, - "type": "Planetary Port" - }, - { - "distance_to_arrival": 168.39572, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 2, - "market_id": 3534389760, - "medium_pads": 2, - "name": "Walz Depot", - "small_pads": 4, - "type": "Planetary Outpost" - }, - { - "distance_to_arrival": 168.278812, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 2, - "market_id": 3534391808, - "medium_pads": 2, - "name": "Furukawa Enterprise", - "small_pads": 4, - "type": "Planetary Outpost" - }, - { - "distance_to_arrival": 2711.606871, - "has_large_pad": false, - "market_id": 3534392832, - "name": "Chargaff Reach" - }, - { - "distance_to_arrival": 2711.606871, - "has_large_pad": false, - "market_id": 3534392064, - "name": "Fung's Claim" - }, - { - "distance_to_arrival": 2711.606871, - "has_large_pad": false, - "market_id": 3534390528, - "name": "Illy Enterprise" - }, - { - "distance_to_arrival": 2711.578235, - "has_large_pad": true, - "large_pads": 4, - "market_id": 3534390272, - "medium_pads": 4, - "name": "Haberlandt Survey", - "small_pads": 4, - "type": "Planetary Outpost" - }, - { - "distance_to_arrival": 2709.254461, - "has_large_pad": true, - "has_market": true, - "large_pads": 2, - "market_id": 3802402816, - "medium_pads": 0, - "name": "Majoro Entertainment Complex", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 2710.173952, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 4, - "market_id": 3534390784, - "medium_pads": 4, - "name": "Durrance Camp", - "small_pads": 4, - "type": "Planetary Outpost" - }, - { - "distance_to_arrival": 2708.137692, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3802408704, - "medium_pads": 1, - "name": "Kvitka Dredging Enterprise", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 2707.533734, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3802409472, - "medium_pads": 1, - "name": "Malins's Camp", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 2710.3312, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3802409216, - "medium_pads": 1, - "name": "Bruno's Encampment", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 2706.954639, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802408960, - "medium_pads": 0, - "name": "Grebby Prospecting", - "small_pads": 1, - "type": "Settlement" - }, - { - "distance_to_arrival": 2714.781539, - "has_large_pad": false, - "market_id": 3534391552, - "name": "Daimler Camp" - }, - { - "distance_to_arrival": 2713.574306, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802403584, - "medium_pads": 0, - "name": "Fraser Industrial Moulding", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 2709.835073, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802403328, - "medium_pads": 0, - "name": "Alasa Industries", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 2715.336171, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "has_shipyard": true, - "large_pads": 2, - "market_id": 3534391296, - "medium_pads": 2, - "name": "Schottky Reformatory", - "small_pads": 4, - "type": "Planetary Outpost" - }, - { - "distance_to_arrival": 2714.003367, - "has_large_pad": true, - "has_market": true, - "large_pads": 2, - "market_id": 3802403072, - "medium_pads": 0, - "name": "Hidalgo's Slumber", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 2712.230821, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3802403840, - "medium_pads": 1, - "name": "Bourne Mining Installation", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 2715.125788, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802404352, - "medium_pads": 0, - "name": "Dewsnap Prospecting Station", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 2710.709827, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802404096, - "medium_pads": 0, - "name": "Vadamootoo Mining Base", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 4822.481778, - "has_large_pad": true, - "has_market": true, - "large_pads": 2, - "market_id": 3908612352, - "medium_pads": 0, - "name": "Ikeda Tourist Zone", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 4824.43397, - "has_large_pad": true, - "has_market": true, - "large_pads": 2, - "market_id": 3802405120, - "medium_pads": 0, - "name": "Kvitka's Origin", - "small_pads": 2, - "type": "Settlement" - }, - { - "distance_to_arrival": 4824.3213, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3802402560, - "medium_pads": 1, - "name": "Ndiaye Hospitality Complex", - "small_pads": 0, - "type": "Settlement" - }, - { - "distance_to_arrival": 4823.203149, - "has_large_pad": true, - "has_market": true, - "large_pads": 2, - "market_id": 3802404608, - "medium_pads": 0, - "name": "Bibeau's Wandering", - "small_pads": 2, - "type": "Settlement" - }, + "name": "Ganymede", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2705.904152, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 432345574704941440, + "id64": 432345574704941440, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 4833.873325, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3802407168, - "medium_pads": 1, - "name": "Mendy Excavation Site", - "small_pads": 0, - "type": "Settlement" + "count": 6, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 4830.134445, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802407424, - "medium_pads": 0, - "name": "Mathibeli Excavation Station", - "small_pads": 0, - "type": "Settlement" + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 4832.258746, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802407936, - "medium_pads": 0, - "name": "Banyard Command Outpost", - "small_pads": 2, - "type": "Settlement" - }, + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Callisto", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 4818.642769, + "estimated_mapping_value": 14481, + "estimated_scan_value": 3986, + "id": 468374371723905400, + "id64": 468374371723905400, + "is_main_star": null, + "name": "Saturn", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 4818.601535, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 540431965761833340, + "id64": 540431965761833340, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 4830.085968, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802407680, - "medium_pads": 0, - "name": "Aithal Garrison", - "small_pads": 2, - "type": "Settlement" + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 4829.83482, - "has_large_pad": true, - "has_market": true, - "has_outfitting": true, - "large_pads": 3, - "market_id": 128677511, - "medium_pads": 3, - "name": "Dekker's Yard", - "small_pads": 2, - "type": "Planetary Outpost" + "count": 16, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 }, { - "distance_to_arrival": 9144.68538, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3802401024, - "medium_pads": 0, - "name": "Lamar's Prospect", - "small_pads": 1, - "type": "Settlement" - }, + "count": 17, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "Enceladus", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 4819.426193, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 576460762780797300, + "id64": 576460762780797300, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 9144.756605, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802401536, - "medium_pads": 0, - "name": "Abimbola Metallurgic Reserve", - "small_pads": 0, - "type": "Settlement" + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 9144.795576, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3802401792, - "medium_pads": 1, - "name": "Hirano Mineralogic Territory", - "small_pads": 0, - "type": "Settlement" + "count": 5, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 }, { - "distance_to_arrival": 9144.700808, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3802401280, - "medium_pads": 0, - "name": "Deshpande Mining Exchange", - "small_pads": 1, - "type": "Settlement" - }, + "count": 5, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "Tethys", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 4819.466495, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 612489559799761300, + "id64": 612489559799761300, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 9144.239587, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802402304, - "medium_pads": 0, - "name": "Avery Manufacturing Hub", - "small_pads": 0, - "type": "Settlement" + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 9144.665114, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802402048, - "medium_pads": 0, - "name": "Pavlenko's Reception", - "small_pads": 2, - "type": "Settlement" + "count": 3, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 }, { - "distance_to_arrival": 9145.04549, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802404864, - "medium_pads": 0, - "name": "Correa Entertainment Complex", - "small_pads": 2, - "type": "Settlement" - }, + "count": 7, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 + } + ], + "name": "Dione", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 4817.157562, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 648518356818725200, + "id64": 648518356818725200, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 9144.971771, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3802408448, - "medium_pads": 1, - "name": "Oshpak's House", - "small_pads": 0, - "type": "Settlement" - }, + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Rhea", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 4815.559165, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 684547153837689200, + "id64": 684547153837689200, + "is_main_star": null, + "name": "Titan", + "subtype": "Rocky Ice world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 4809.784664, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 720575950856653200, + "id64": 720575950856653200, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 9143.203421, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802400768, - "medium_pads": 0, - "name": "Indongo Bay", - "small_pads": 2, - "type": "Settlement" + "count": 4, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 9144.468302, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802400256, - "medium_pads": 0, - "name": "Amos Mining Hub", - "small_pads": 0, - "type": "Settlement" - }, + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Iapetus", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 9143.926461, + "estimated_mapping_value": 11829, + "estimated_scan_value": 3256, + "id": 792633544894581100, + "id64": 792633544894581100, + "is_main_star": null, + "name": "Uranus", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 9144.385501, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 864691138932509000, + "id64": 864691138932509000, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 9146.183175, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802400512, - "medium_pads": 0, - "name": "Shen Extraction Rigs", - "small_pads": 1, - "type": "Settlement" - }, + "count": 6, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Ariel", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 9144.194993, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 900719935951473000, + "id64": 900719935951473000, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 9144.084011, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802400000, - "medium_pads": 0, - "name": "Navarrete's Prospect", - "small_pads": 1, - "type": "Settlement" - }, + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Umbriel", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 9143.720676, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 936748732970437000, + "id64": 936748732970437000, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 15914.423436, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3802406400, - "medium_pads": 1, - "name": "Tsarenko Prospecting Exchange", - "small_pads": 0, - "type": "Settlement" - }, + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Titania", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 9145.86234, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 972777529989401000, + "id64": 972777529989401000, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 15914.146366, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802406144, - "medium_pads": 0, - "name": "Sakurai Tourism Complex", - "small_pads": 2, - "type": "Settlement" - }, + "count": 4, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Oberon", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 14912.416448, + "estimated_mapping_value": 12026, + "estimated_scan_value": 3310, + "id": 1.0088063270083649e+18, + "id64": 1.0088063270083649e+18, + "is_main_star": null, + "name": "Neptune", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 14911.401511, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.0808639210462929e+18, + "id64": 1.0808639210462929e+18, + "is_main_star": null, + "name": "Triton", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 20659.147221, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.1529215150842207e+18, + "id64": 1.1529215150842207e+18, + "is_main_star": null, + "name": "Pluto", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 20659.091055, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.1889503121031846e+18, + "id64": 1.1889503121031846e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 15911.325894, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3807125248, - "medium_pads": 0, - "name": "Uutoni Extraction Platform", - "small_pads": 1, - "type": "Settlement" - }, + "count": 2, + "subtype": "Wrecked Ship", + "type": "Wrecked Ship", + "value": 0 + } + ], + "name": "Charon", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 15919.947366, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2249791091221486e+18, + "id64": 1.2249791091221486e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 15914.70776, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3807124992, - "medium_pads": 0, - "name": "Walachnia's Gate", - "small_pads": 2, - "type": "Settlement" - }, + "count": 2, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "90482 Orcus", + "subtype": "Rocky Ice world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 15919.971525, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2610079061411126e+18, + "id64": 1.2610079061411126e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 18955.916416, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802405376, - "medium_pads": 0, - "name": "Beauchene's Horizon", - "small_pads": 2, - "type": "Settlement" - }, + "count": 2, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Vanth", + "subtype": "Rocky Ice world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 18950.900043, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2970367031600765e+18, + "id64": 1.2970367031600765e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 18623.044963, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802406656, - "medium_pads": 0, - "name": "Ji's Slumber", - "small_pads": 2, - "type": "Settlement" - }, + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "(307261) 2002 MS4", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 18622.530138, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.3330655001790405e+18, + "id64": 1.3330655001790405e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 18623.27909, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3802406912, - "medium_pads": 1, - "name": "Avery Excavation Hub", - "small_pads": 0, - "type": "Settlement" - }, + "count": 2, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Salacia", + "subtype": "Rocky Ice world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 18622.548248, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.3690942971980045e+18, + "id64": 1.3690942971980045e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 18623.085738, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3807124736, - "medium_pads": 0, - "name": "Awolowo Mineralogic Base", - "small_pads": 1, - "type": "Settlement" + "count": 5, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 }, { - "distance_to_arrival": 18623.0873, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3807123968, - "medium_pads": 1, - "name": "Fincham Drilling Hub", - "small_pads": 0, - "type": "Settlement" + "count": 7, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 }, { - "distance_to_arrival": 18623.260978, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3807124224, - "medium_pads": 0, - "name": "Yamashita Excavation Territory", - "small_pads": 1, - "type": "Settlement" + "count": 6, + "subtype": "Water Gas Vent", + "type": "Gas Vent", + "value": 0 }, { - "distance_to_arrival": 18623.005324, - "has_large_pad": true, - "has_market": true, - "large_pads": 2, - "market_id": 3807123712, - "medium_pads": 0, - "name": "Seidel's Globe", - "small_pads": 2, - "type": "Settlement" + "count": 9, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 }, { - "distance_to_arrival": 18623.089473, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3807124480, - "medium_pads": 0, - "name": "Florianz Mining Prospect", - "small_pads": 0, - "type": "Settlement" - }, + "count": 1, + "subtype": "Tourist Beacon", + "type": "Tourist Beacon", + "value": 0 + } + ], + "name": "Actaea", + "subtype": "Rocky Ice world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 25262.112949, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.4051230942169684e+18, + "id64": 1.4051230942169684e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 25264.955232, - "has_large_pad": false, - "has_market": true, - "large_pads": 0, - "market_id": 3802408192, - "medium_pads": 1, - "name": "Hao's Steal", - "small_pads": 0, - "type": "Settlement" - }, + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Haumea", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 25262.040505, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.4411518912359324e+18, + "id64": 1.4411518912359324e+18, + "is_main_star": null, + "name": "Hi'iaka", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 21067.269171, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.4771806882548964e+18, + "id64": 1.4771806882548964e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 21066.420888, - "has_large_pad": true, - "has_market": true, - "large_pads": 1, - "market_id": 3802405888, - "medium_pads": 0, - "name": "Ponomarenko's Drilling", - "small_pads": 1, - "type": "Settlement" - }, + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "Quaoar", + "subtype": "Rocky Ice world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 25453.313805, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.5132094852738604e+18, + "id64": 1.5132094852738604e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "distance_to_arrival": 25456.854687, - "has_large_pad": true, - "has_market": true, - "large_pads": 2, - "market_id": 3802405632, - "medium_pads": 0, - "name": "Adebisi Hospitality Zone", - "small_pads": 2, - "type": "Settlement" + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 } ], - "thargoid_war_days_remaining": 0, - "thargoid_war_failure_state": "None", - "thargoid_war_ports_remaining": 0, - "thargoid_war_progress": 0.00002, - "thargoid_war_state": "Thargoid Stronghold", - "thargoid_war_success_reached": false, - "thargoid_war_success_state": "None", - "updated_at": "2024-12-07 21:59:57+00", - "x": 0, - "y": 0, - "z": 0 - }, - "type": "system" - }, - { - "record": { - "age": 4792, - "atmosphere": "No atmosphere", - "axis_tilt": -0.219615, - "belts": [ + "name": "Makemake", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 24018.338271, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.5492382822928243e+18, + "id64": 1.5492382822928243e+18, + "is_main_star": null, + "name": "(225088) 2007 OR10", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 39233.64147, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.5852670793117883e+18, + "id64": 1.5852670793117883e+18, + "is_main_star": null, + "name": "Eris", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 290810.12505, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.6212958763307523e+18, + "id64": 1.6212958763307523e+18, + "is_main_star": null, + "name": "Sedna", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 484299.476981, + "estimated_mapping_value": 2451, + "estimated_scan_value": 569, + "id": 1.6573246733497162e+18, + "id64": 1.6573246733497162e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ { - "inner_radius": 308170000000, - "mass": 4060500000000, - "name": "Asteroid Belt", - "outer_radius": 489190000000, - "type": "Rocky" + "count": 4, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 11, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 } ], - "body_id": 0, - "distance_to_arrival": 0, - "estimated_mapping_value": 4614, - "estimated_scan_value": 1218, - "id64": 10477373803, - "is_main_star": true, - "luminosity_class": "V", - "name": "Sol", - "rotational_period": 2.58327451196759, - "solar_masses": 1, - "solar_radius": 0.999999953989935, - "spectral_class": "G2", - "subtype": "G (White-Yellow) Star", - "surface_temperature": 5778, - "system_controlling_power": "Jerome Archer", - "system_id64": 10477373803, - "system_name": "Sol", - "system_power_state": "Stronghold", - "system_region": "Inner Orion Spur", - "system_x": 0, - "system_y": 0, - "system_z": 0, - "type": "Star", - "updated_at": "2024-12-07 21:59:11+00" - }, - "type": "body" - } - ] + "name": "Persephone", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + } + ], + "body_count": 40, + "controlling_minor_faction": "Mother Gaia", + "controlling_minor_faction_state": "None", + "controlling_power": "Jerome Archer", + "estimated_mapping_value": 2213988, + "estimated_scan_value": 605861, + "government": "Democracy", + "id64": 10477373803, + "known_permit": true, + "landmark_value": 0, + "minor_faction_presences": [ + { + "influence": 0.00997, + "name": "Aegis Core", + "state": "None" + }, + { + "influence": 0.182453, + "name": "Federal Congress", + "state": "None" + }, + { + "influence": 0.291127, + "name": "Mother Gaia", + "state": "None" + }, + { + "influence": 0.108674, + "name": "Sol Constitution Party", + "state": "None" + }, + { + "influence": 0.110668, + "name": "Sol Nationalists", + "state": "None" + }, + { + "influence": 0.297109, + "name": "Sol Workers' Party", + "state": "None" + } + ], + "name": "Sol", + "needs_permit": true, + "population": 18320926115, + "power": [ + "Aisling Duval", + "Edmund Mahon", + "Li Yong-Rui", + "Yuri Grom", + "Zemina Torval", + "Jerome Archer" + ], + "power_state": "Exploited", + "primary_economy": "Refinery", + "region": "Inner Orion Spur", + "secondary_economy": "Service", + "security": "High", + "stations": [ + { + "distance_to_arrival": 496.966721, + "has_large_pad": false, + "has_market": true, + "has_outfitting": true, + "market_id": 128977009, + "name": "Rescue Ship - Li Qing Jao", + "type": "Mega ship" + }, + { + "distance_to_arrival": 4815.542842, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 5, + "market_id": 128018176, + "medium_pads": 13, + "name": "Titan City", + "small_pads": 7, + "type": "Orbis Starport" + }, + { + "distance_to_arrival": 505.923146, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 6, + "market_id": 128017152, + "medium_pads": 13, + "name": "M.Gorbachev", + "small_pads": 8, + "type": "Orbis Starport" + }, + { + "distance_to_arrival": 828.881318, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 6, + "market_id": 128017664, + "medium_pads": 12, + "name": "Mars High", + "small_pads": 6, + "type": "Orbis Starport" + }, + { + "distance_to_arrival": 505.030109, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 6, + "market_id": 128016640, + "medium_pads": 13, + "name": "Galileo", + "small_pads": 9, + "type": "Ocellus Starport" + }, + { + "distance_to_arrival": 194.675847, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 6, + "market_id": 128016384, + "medium_pads": 13, + "name": "Daedalus", + "small_pads": 10, + "type": "Orbis Starport" + }, + { + "distance_to_arrival": 506.103362, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 5, + "market_id": 128016896, + "medium_pads": 9, + "name": "Abraham Lincoln", + "small_pads": 8, + "type": "Orbis Starport" + }, + { + "distance_to_arrival": 2705.819922, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 6, + "market_id": 128017920, + "medium_pads": 12, + "name": "Columbus", + "small_pads": 7, + "type": "Ocellus Starport" + }, + { + "distance_to_arrival": 505.958796, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 6, + "market_id": 128017408, + "medium_pads": 11, + "name": "Li Qing Jao", + "small_pads": 6, + "type": "Orbis Starport" + }, + { + "distance_to_arrival": 363.207302, + "has_large_pad": false, + "has_market": true, + "has_outfitting": true, + "large_pads": 0, + "market_id": 3228719104, + "medium_pads": 1, + "name": "Burnell Station", + "small_pads": 4, + "type": "Outpost" + }, + { + "distance_to_arrival": 190.4785, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 2, + "market_id": 3534389760, + "medium_pads": 2, + "name": "Walz Depot", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 191.415964, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 2, + "market_id": 3534391808, + "medium_pads": 2, + "name": "Furukawa Enterprise", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 194.638386, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3534390016, + "medium_pads": 8, + "name": "Ehrlich City", + "small_pads": 8, + "type": "Planetary Port" + }, + { + "distance_to_arrival": 2706.01136, + "has_large_pad": false, + "market_id": 3534392832, + "name": "Chargaff Reach" + }, + { + "distance_to_arrival": 2706.01136, + "has_large_pad": false, + "market_id": 3534392064, + "name": "Fung's Claim" + }, + { + "distance_to_arrival": 2706.01136, + "has_large_pad": false, + "market_id": 3534390528, + "name": "Illy Enterprise" + }, + { + "distance_to_arrival": 2709.376218, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 4, + "market_id": 3534390272, + "medium_pads": 4, + "name": "Haberlandt Survey", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 2708.114773, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3802402816, + "medium_pads": 0, + "name": "Majoro Entertainment Complex", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2708.137692, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3802408704, + "medium_pads": 1, + "name": "Kvitka Dredging Enterprise", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2707.075858, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3802409216, + "medium_pads": 1, + "name": "Bruno's Encampment", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2707.533734, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3802409472, + "medium_pads": 1, + "name": "Malins's Camp", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2705.620985, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 4, + "market_id": 3534390784, + "medium_pads": 4, + "name": "Durrance Camp", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 2709.897145, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802408960, + "medium_pads": 0, + "name": "Grebby Prospecting", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 2705.904152, + "has_large_pad": false, + "market_id": 3534391552, + "name": "Daimler Camp" + }, + { + "distance_to_arrival": 2704.814813, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802403328, + "medium_pads": 0, + "name": "Alasa Industries", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2710.709827, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802404096, + "medium_pads": 0, + "name": "Vadamootoo Mining Base", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2704.967493, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 2, + "market_id": 3534391296, + "medium_pads": 2, + "name": "Schottky Reformatory", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 2714.003367, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3802403072, + "medium_pads": 0, + "name": "Hidalgo's Slumber", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 2704.681452, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3802403840, + "medium_pads": 1, + "name": "Bourne Mining Installation", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2704.868173, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802403584, + "medium_pads": 0, + "name": "Fraser Industrial Moulding", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 2705.056605, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802404352, + "medium_pads": 0, + "name": "Dewsnap Prospecting Station", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 4822.481778, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3908612352, + "medium_pads": 0, + "name": "Ikeda Tourist Zone", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 4824.43397, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3802405120, + "medium_pads": 0, + "name": "Kvitka's Origin", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 4824.3213, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3802402560, + "medium_pads": 1, + "name": "Ndiaye Hospitality Complex", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 4823.203149, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3802404608, + "medium_pads": 0, + "name": "Bibeau's Wandering", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 4832.258746, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802407936, + "medium_pads": 0, + "name": "Banyard Command Outpost", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 4833.873325, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3802407168, + "medium_pads": 1, + "name": "Mendy Excavation Site", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 4809.78283, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 3, + "market_id": 128677511, + "medium_pads": 3, + "name": "Dekker's Yard", + "small_pads": 2, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 4809.78713, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802407680, + "medium_pads": 0, + "name": "Aithal Garrison", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 4810.007308, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802407424, + "medium_pads": 0, + "name": "Mathibeli Excavation Station", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 9144.239587, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802402304, + "medium_pads": 0, + "name": "Avery Manufacturing Hub", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 9144.665114, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802402048, + "medium_pads": 0, + "name": "Pavlenko's Reception", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 9143.438335, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3802401792, + "medium_pads": 1, + "name": "Hirano Mineralogic Territory", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 9144.700808, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3802401280, + "medium_pads": 0, + "name": "Deshpande Mining Exchange", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 9144.328255, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3802401024, + "medium_pads": 0, + "name": "Lamar's Prospect", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 9144.562855, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802401536, + "medium_pads": 0, + "name": "Abimbola Metallurgic Reserve", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 9145.04549, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802404864, + "medium_pads": 0, + "name": "Correa Entertainment Complex", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 9144.971771, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3802408448, + "medium_pads": 1, + "name": "Oshpak's House", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 9146.183175, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802400512, + "medium_pads": 0, + "name": "Shen Extraction Rigs", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 9145.862892, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802400768, + "medium_pads": 0, + "name": "Indongo Bay", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 9145.862907, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802400256, + "medium_pads": 0, + "name": "Amos Mining Hub", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 9145.665707, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802400000, + "medium_pads": 0, + "name": "Navarrete's Prospect", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 15914.423436, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3802406400, + "medium_pads": 1, + "name": "Tsarenko Prospecting Exchange", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 15919.80075, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802406144, + "medium_pads": 0, + "name": "Sakurai Tourism Complex", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 15919.844956, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3807124992, + "medium_pads": 0, + "name": "Walachnia's Gate", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 15919.732683, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3807125248, + "medium_pads": 0, + "name": "Uutoni Extraction Platform", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 18955.916416, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802405376, + "medium_pads": 0, + "name": "Beauchene's Horizon", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 18622.533189, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802406656, + "medium_pads": 0, + "name": "Ji's Slumber", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 18622.535874, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3802406912, + "medium_pads": 1, + "name": "Avery Excavation Hub", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 18623.0873, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3807123968, + "medium_pads": 1, + "name": "Fincham Drilling Hub", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 18623.005324, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3807123712, + "medium_pads": 0, + "name": "Seidel's Globe", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 18623.089473, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3807124480, + "medium_pads": 0, + "name": "Florianz Mining Prospect", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 18623.085738, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3807124736, + "medium_pads": 0, + "name": "Awolowo Mineralogic Base", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 18623.260978, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3807124224, + "medium_pads": 0, + "name": "Yamashita Excavation Territory", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 25264.955232, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3802408192, + "medium_pads": 1, + "name": "Hao's Steal", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 21067.235882, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3802405888, + "medium_pads": 0, + "name": "Ponomarenko's Drilling", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 25456.854687, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3802405632, + "medium_pads": 0, + "name": "Adebisi Hospitality Zone", + "small_pads": 2, + "type": "Settlement" + } + ], + "thargoid_war_failure_state": "None", + "thargoid_war_state": "None", + "thargoid_war_success_state": "None", + "updated_at": "2025-01-04 03:52:31+00", + "x": 0, + "y": 0, + "z": 0 + } } \ No newline at end of file diff --git a/Tests/Properties/SpanshQuickStarSystemTz_Arietis.json b/Tests/Properties/SpanshQuickStarSystemTz_Arietis.json new file mode 100644 index 0000000000..142ad37650 --- /dev/null +++ b/Tests/Properties/SpanshQuickStarSystemTz_Arietis.json @@ -0,0 +1,2099 @@ +{ + "record": { + "allegiance": "Federation", + "bodies": [ + { + "distance_to_arrival": 0, + "estimated_mapping_value": 4578, + "estimated_scan_value": 1207, + "id": 13864825529761, + "id64": 13864825529761, + "is_main_star": true, + "name": "TZ Arietis", + "subtype": "M (Red dwarf) Star", + "type": "Star" + }, + { + "distance_to_arrival": 6.913452, + "estimated_mapping_value": 56177, + "estimated_scan_value": 15462, + "id": 324273037996205500, + "id64": 324273037996205500, + "is_main_star": null, + "name": "TZ Arietis 1", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 12.299634, + "estimated_mapping_value": 54277, + "estimated_scan_value": 14939, + "id": 360301835015169500, + "id64": 360301835015169500, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Silicate Vapour Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 2, + "subtype": "Silicate Magma Lava Spout", + "type": "Lava Spout", + "value": 0 + }, + { + "count": 1, + "subtype": "Silicate Vapour Gas Vent", + "type": "Gas Vent", + "value": 0 + } + ], + "name": "TZ Arietis 2", + "subtype": "High metal content world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 823.094874, + "estimated_mapping_value": 17195, + "estimated_scan_value": 4733, + "id": 864704993280665000, + "id64": 864704993280665000, + "is_main_star": null, + "name": "TZ Arietis 3", + "subtype": "Class I gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 821.478424, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 972791384337556900, + "id64": 972791384337556900, + "is_main_star": null, + "name": "TZ Arietis 3 a", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 823.888376, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.0088201813565208e+18, + "id64": 1.0088201813565208e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } + ], + "name": "TZ Arietis 3 b", + "subtype": "Rocky body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 825.152394, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.0448489783754848e+18, + "id64": 1.0448489783754848e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + }, + { + "count": 2, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Installation", + "type": "Surface Station", + "value": 0 + } + ], + "name": "TZ Arietis 3 c", + "subtype": "Rocky Ice world", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 801.878515, + "estimated_mapping_value": 2278, + "estimated_scan_value": 517, + "id": 1.0808777753944488e+18, + "id64": 1.0808777753944488e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } + ], + "name": "TZ Arietis 4", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1181.233684, + "estimated_mapping_value": 4028, + "estimated_scan_value": 1042, + "id": 1.1169065724134127e+18, + "id64": 1.1169065724134127e+18, + "is_main_star": null, + "name": "TZ Arietis 5", + "subtype": "Class III gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1182.541098, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2249929634703048e+18, + "id64": 1.2249929634703048e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } + ], + "name": "TZ Arietis 5 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1185.056202, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2610217604892687e+18, + "id64": 1.2610217604892687e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Crater Port", + "type": "Surface Station", + "value": 0 + } + ], + "name": "TZ Arietis 5 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1185.047082, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.2970505575082327e+18, + "id64": 1.2970505575082327e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Water Ice Fumarole", + "type": "Fumarole", + "value": 0 + }, + { + "count": 1, + "subtype": "Water Ice Geyser", + "type": "Geyser", + "value": 0 + }, + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + } + ], + "name": "TZ Arietis 5 b a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1189.152091, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.3330793545271967e+18, + "id64": 1.3330793545271967e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 + } + ], + "name": "TZ Arietis 5 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1172.33763, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.3691081515461606e+18, + "id64": 1.3691081515461606e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 + } + ], + "name": "TZ Arietis 5 d", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1169.051424, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.4051369485651246e+18, + "id64": 1.4051369485651246e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 2, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "TZ Arietis 5 e", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1161.128091, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 1.4411657455840886e+18, + "id64": 1.4411657455840886e+18, + "is_main_star": null, + "landmark_value": 11529000, + "landmarks": [ + { + "count": 36, + "subtype": "Fonticulua Lapida", + "type": "Fonticulua", + "value": 3111000 + }, + { + "count": 2, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Crater Port", + "type": "Surface Station", + "value": 0 + }, + { + "count": 1, + "subtype": "Surface Station", + "type": "Surface Station", + "value": 0 + }, + { + "count": 31, + "subtype": "Bacterium Informem", + "type": "Bacterium", + "value": 8418000 + } + ], + "name": "TZ Arietis 5 f", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1996.949146, + "estimated_mapping_value": 4104, + "estimated_scan_value": 1065, + "id": 2.08968409192544e+18, + "id64": 2.08968409192544e+18, + "is_main_star": null, + "name": "TZ Arietis 6", + "subtype": "Class III gas giant", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1996.211347, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.161741685963368e+18, + "id64": 2.161741685963368e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 1, + "subtype": "Crater Outpost", + "type": "Surface Station", + "value": 0 + } + ], + "name": "TZ Arietis 6 a", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1997.810257, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.197770482982332e+18, + "id64": 2.197770482982332e+18, + "is_main_star": null, + "name": "TZ Arietis 6 b", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1999.187682, + "estimated_mapping_value": 2221, + "estimated_scan_value": 500, + "id": 2.233799280001296e+18, + "id64": 2.233799280001296e+18, + "is_main_star": null, + "landmark_value": 0, + "landmarks": [ + { + "count": 3, + "subtype": "Settlement", + "type": "Surface Station", + "value": 0 + } + ], + "name": "TZ Arietis 6 c", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 1945.774271, + "estimated_mapping_value": 2321, + "estimated_scan_value": 530, + "id": 2.2698280770202598e+18, + "id64": 2.2698280770202598e+18, + "is_main_star": null, + "name": "TZ Arietis 7", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 2939.565352, + "estimated_mapping_value": 3728, + "estimated_scan_value": 952, + "id": 2.3779144680771517e+18, + "id64": 2.3779144680771517e+18, + "is_main_star": null, + "name": "TZ Arietis 8", + "subtype": "Gas giant with water-based life", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 3075.724237, + "estimated_mapping_value": 2701, + "estimated_scan_value": 644, + "id": 2.4860008591340436e+18, + "id64": 2.4860008591340436e+18, + "is_main_star": null, + "name": "TZ Arietis 9", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + }, + { + "distance_to_arrival": 4036.747782, + "estimated_mapping_value": 2698, + "estimated_scan_value": 643, + "id": 2.5220296561530076e+18, + "id64": 2.5220296561530076e+18, + "is_main_star": null, + "name": "TZ Arietis 10", + "subtype": "Icy body", + "terraforming_state": "Not terraformable", + "type": "Planet" + } + ], + "body_count": 24, + "controlling_minor_faction": "FrogCorp", + "controlling_minor_faction_state": "Boom", + "controlling_power": "Jerome Archer", + "estimated_mapping_value": 182958, + "estimated_scan_value": 48234, + "government": "Corporate", + "id64": 13864825529761, + "known_permit": false, + "landmark_value": 11529000, + "minor_faction_presences": [ + { + "influence": 0.099798, + "name": "Bureau of TZ Arietis Law Party", + "state": "Famine" + }, + { + "influence": 0.492944, + "name": "FrogCorp", + "state": "Boom" + }, + { + "influence": 0.110887, + "name": "Future of EZ Aquarii", + "state": "None" + }, + { + "influence": 0.043347, + "name": "George Pantazis Crimson Bridge", + "state": "None" + }, + { + "influence": 0.077621, + "name": "Ross 154 Vision Partners", + "state": "Election" + }, + { + "influence": 0.05746, + "name": "TZ Arietis Crimson Allied Inc", + "state": "Election" + }, + { + "influence": 0.010081, + "name": "TZ Arietis Purple Council", + "state": "None" + }, + { + "influence": 0.107863, + "name": "Workers of TZ Arietis Democrats", + "state": "None" + } + ], + "name": "TZ Arietis", + "needs_permit": false, + "population": 63823540, + "power": [ + "Li Yong-Rui", + "Yuri Grom", + "Zemina Torval", + "Jerome Archer" + ], + "power_state": "Stronghold", + "primary_economy": "High Tech", + "region": "Inner Orion Spur", + "secondary_economy": "Refinery", + "security": "High", + "stations": [ + { + "distance_to_arrival": 153473.048862, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "market_id": 3704822272, + "name": "VBL-47N", + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 3923.166246, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3700377088, + "medium_pads": 4, + "name": "Q7K-8HW", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 1185.986495, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3700481280, + "medium_pads": 4, + "name": "H3W-GKL", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3702989056, + "medium_pads": 4, + "name": "T9J-79L", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3702111744, + "medium_pads": 4, + "name": "FLV-32Z", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 153450.178809, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3707400192, + "medium_pads": 4, + "name": "X1F-69J", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3700067072, + "medium_pads": 4, + "name": "T1M-W2Z", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 12.299662, + "has_large_pad": true, + "has_market": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3710185728, + "medium_pads": 4, + "name": "J0V-T3M", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3708616448, + "medium_pads": 4, + "name": "KBN-74N", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3707526400, + "medium_pads": 4, + "name": "V9V-N8G", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 824.324742, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3702001408, + "medium_pads": 4, + "name": "H7Y-43B", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 827.495715, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3708408320, + "medium_pads": 4, + "name": "K9X-05M", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3702277120, + "medium_pads": 4, + "name": "H1Z-2UZ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "market_id": 3701622016, + "name": "X4K-W8W", + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3701848576, + "medium_pads": 4, + "name": "H7Y-34T", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3706364928, + "medium_pads": 4, + "name": "T8X-G6F", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 956.891821, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3710181632, + "medium_pads": 4, + "name": "T9Q-5XZ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3700456192, + "medium_pads": 4, + "name": "J0M-1TK", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 822.944553, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3704092928, + "medium_pads": 4, + "name": "K3X-06L", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 6.139629, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3703474688, + "medium_pads": 4, + "name": "K3T-G1J", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3702697216, + "medium_pads": 4, + "name": "HNT-0HW", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3707519232, + "medium_pads": 4, + "name": "GHV-T9Z", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3703236352, + "medium_pads": 4, + "name": "V9M-BQZ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 6.913393, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3703548672, + "medium_pads": 4, + "name": "N8H-01Z", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3700435456, + "medium_pads": 4, + "name": "G8L-N6V", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 7.437426, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3703995136, + "medium_pads": 4, + "name": "K2L-LVJ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 6.913345, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "market_id": 3700335872, + "name": "X5F-T8G", + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3702304000, + "medium_pads": 4, + "name": "W7T-28Z", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 6.913347, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3706522880, + "medium_pads": 4, + "name": "N5Q-TVZ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 12.299652, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3705019904, + "medium_pads": 4, + "name": "V9J-33Y", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 822.710151, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3707290624, + "medium_pads": 4, + "name": "HFH-0QJ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3707867648, + "medium_pads": 4, + "name": "GFX-8QV", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 6.564126, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3708257792, + "medium_pads": 4, + "name": "T6B-68N", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 23.088002, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3701562880, + "medium_pads": 4, + "name": "N3V-80Z", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 6.913348, + "has_large_pad": true, + "large_pads": 8, + "market_id": 3708803328, + "medium_pads": 4, + "name": "Q8M-B4Q", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 823.066326, + "has_large_pad": true, + "has_market": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3702336256, + "medium_pads": 4, + "name": "J1X-71G", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 6.913442, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3701217024, + "medium_pads": 4, + "name": "KFG-L1M", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 1540.040601, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 8, + "market_id": 3704302848, + "medium_pads": 4, + "name": "V6N-62X", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 835.511911, + "has_large_pad": true, + "has_market": true, + "market_id": 3702381568, + "name": "QBG-99X", + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 5375.565144, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3700096512, + "medium_pads": 4, + "name": "J8G-17G", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 6.913456, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3700549888, + "medium_pads": 4, + "name": "X6W-33F", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 2039.660327, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3710174464, + "medium_pads": 4, + "name": "JZH-GHW", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 1055.656367, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3706476288, + "medium_pads": 4, + "name": "K4M-12B", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 823.09815, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3710243072, + "medium_pads": 4, + "name": "H0B-27W", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 3049.748467, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3710356224, + "medium_pads": 4, + "name": "Q2L-25H", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 6.913467, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3709449984, + "medium_pads": 4, + "name": "GLX-21M", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 1189.574941, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3702411776, + "medium_pads": 4, + "name": "VHZ-L1Q", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 818.451253, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3706348032, + "medium_pads": 4, + "name": "J0B-BHJ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 822.902715, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3709588992, + "medium_pads": 4, + "name": "TFF-BXF", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 12.299626, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3705470464, + "medium_pads": 4, + "name": "T8J-30Y", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 6.913349, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3703272960, + "medium_pads": 4, + "name": "K6H-TVW", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 825.240686, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3702809856, + "medium_pads": 4, + "name": "N6J-75Z", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3703661824, + "medium_pads": 4, + "name": "HZW-B1N", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 542.276585, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3704679168, + "medium_pads": 4, + "name": "HHQ-WKT", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 11.574659, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3707371008, + "medium_pads": 4, + "name": "HNJ-67Q", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3701831424, + "medium_pads": 4, + "name": "YHY-34Z", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 12.299657, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3704172032, + "medium_pads": 4, + "name": "X5Y-01Z", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 6574.760159, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3700050688, + "medium_pads": 4, + "name": "QFH-78K", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 37.148142, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "market_id": 3708334080, + "name": "HZK-NQT", + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 121.846588, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3703961088, + "medium_pads": 4, + "name": "K7Q-T2M", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3705629952, + "medium_pads": 4, + "name": "T6M-NTJ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 607.0563, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3700628224, + "medium_pads": 4, + "name": "J1N-NHW", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3702842112, + "medium_pads": 4, + "name": "H6Z-67Y", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 394.511782, + "has_large_pad": true, + "has_market": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3709756160, + "medium_pads": 4, + "name": "KBT-90B", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 3131.876699, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3701977088, + "medium_pads": 4, + "name": "B0G-9VZ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 824.321387, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3702997248, + "medium_pads": 4, + "name": "VNW-42Z", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3707621632, + "medium_pads": 4, + "name": "Q6H-W7K", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 805.544421, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3710477568, + "medium_pads": 4, + "name": "J7Y-NHF", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 6.913445, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 8, + "market_id": 3706459136, + "medium_pads": 4, + "name": "XBZ-WKL", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 813.884175, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 7, + "market_id": 3228843776, + "medium_pads": 12, + "name": "Snyder Enterprise", + "small_pads": 7, + "type": "Coriolis Starport" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3701346304, + "medium_pads": 4, + "name": "XZQ-N0Y", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 12.299621, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3702508800, + "medium_pads": 4, + "name": "HHW-80J", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 822.904704, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3702502400, + "medium_pads": 4, + "name": "V2H-00W", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3707165184, + "medium_pads": 4, + "name": "V6F-11X", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 801.475553, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3706379520, + "medium_pads": 4, + "name": "T3Y-0KF", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3702888192, + "medium_pads": 4, + "name": "QNK-2XF", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3703663616, + "medium_pads": 4, + "name": "V8N-68Z", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 985.804552, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3707205632, + "medium_pads": 4, + "name": "V4M-N3B", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 1181.234316, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3710479104, + "medium_pads": 4, + "name": "Q5M-G0N", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 823.075711, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3710516480, + "medium_pads": 4, + "name": "T9Z-WXZ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3707044608, + "medium_pads": 4, + "name": "TBZ-2TJ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 0, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3708912128, + "medium_pads": 4, + "name": "T9Z-GXQ", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 12.299646, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3709928192, + "medium_pads": 4, + "name": "T7G-54V", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 12.29964, + "has_large_pad": true, + "has_market": true, + "large_pads": 8, + "market_id": 3705354240, + "medium_pads": 4, + "name": "H3T-14N", + "small_pads": 4, + "type": "Drake-Class Carrier" + }, + { + "distance_to_arrival": 6.91346, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 2, + "market_id": 3930454529, + "medium_pads": 4, + "name": "Stronghold Carrier", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 820.515905, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3886263552, + "medium_pads": 0, + "name": "Kanu Prospecting Installation", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 820.239522, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886264064, + "medium_pads": 0, + "name": "Wan Synthetics Exchange", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 821.023118, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886263808, + "medium_pads": 0, + "name": "Cooper Engineering Hub", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 824.430131, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886263296, + "medium_pads": 0, + "name": "Stelmah Minerology", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 822.895009, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3886263040, + "medium_pads": 0, + "name": "Diaw's Prominence", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 818.679365, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3886259456, + "medium_pads": 0, + "name": "Poirier Drilling Enterprise", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 825.152394, + "has_large_pad": false, + "market_id": 3534863616, + "name": "Hadamard Lab" + }, + { + "distance_to_arrival": 821.224753, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886258432, + "medium_pads": 0, + "name": "Pyeon Manufacturing Silo", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 820.085756, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886258944, + "medium_pads": 0, + "name": "Spark Engineering Facility", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 823.226394, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886258688, + "medium_pads": 0, + "name": "Baker's Foundry", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 818.302936, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3886259200, + "medium_pads": 0, + "name": "Polubotok Entertainment Lodge", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 801.456815, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3888114176, + "medium_pads": 0, + "name": "Byun Industrial Holdings", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 817.757337, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3888114432, + "medium_pads": 0, + "name": "Kravchenko's Falls", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 801.878515, + "has_large_pad": false, + "market_id": 3534866432, + "name": "Pellegrino Terminal" + }, + { + "distance_to_arrival": 814.738785, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3888113664, + "medium_pads": 0, + "name": "Khatri's Forge", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 801.475668, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3888113920, + "medium_pads": 0, + "name": "Riviere Manufacturing Installation", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1178.195123, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886264320, + "medium_pads": 0, + "name": "Wada's Globe", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1180.987524, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886258176, + "medium_pads": 0, + "name": "Antonaci's Workshop", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1183.667122, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886257664, + "medium_pads": 0, + "name": "Suarez's Gate", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1185.062506, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886257920, + "medium_pads": 0, + "name": "Markey Synthetics Depot", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1186.473722, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3534863872, + "medium_pads": 4, + "name": "Santos Depot", + "small_pads": 4, + "type": "Planetary Port" + }, + { + "distance_to_arrival": 1186.551869, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3886256384, + "medium_pads": 0, + "name": "Nakamura Bridge", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1181.388137, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886262784, + "medium_pads": 0, + "name": "Margrave Manufacturing Hub", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1180.933918, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 2, + "market_id": 3534864128, + "medium_pads": 2, + "name": "Puleston Horizons", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 1175.396274, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886262528, + "medium_pads": 0, + "name": "MacKinnon's Muse", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1188.53083, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3886264576, + "medium_pads": 1, + "name": "Rawlins's Quest", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1175.706032, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 2, + "market_id": 3534864640, + "medium_pads": 2, + "name": "Godwin Prospect", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 1169.051424, + "has_large_pad": false, + "market_id": 3534865664, + "name": "Meikle Vista" + }, + { + "distance_to_arrival": 1165.531464, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886255616, + "medium_pads": 0, + "name": "Moreno Synthetics Silo", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1182.72836, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886256128, + "medium_pads": 0, + "name": "Durno Manufacturing Plant", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1169.051424, + "has_large_pad": false, + "market_id": 3886255360, + "name": "Palma's Reception" + }, + { + "distance_to_arrival": 1169.051424, + "has_large_pad": false, + "market_id": 3886255872, + "name": "Jackson Synthetics Moulding" + }, + { + "distance_to_arrival": 1175.367329, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3886256896, + "medium_pads": 0, + "name": "Serduk Industrial Workshop", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1197.309837, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886257152, + "medium_pads": 0, + "name": "Bellegrade Engineering", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1165.321615, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886256640, + "medium_pads": 0, + "name": "Li Manufacturing Hub", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1161.74338, + "has_large_pad": true, + "has_shipyard": true, + "large_pads": 8, + "market_id": 3791334400, + "medium_pads": 4, + "name": "Jernigan Arsenal", + "small_pads": 4, + "type": "Planetary Port" + }, + { + "distance_to_arrival": 1162.525355, + "has_large_pad": true, + "has_outfitting": true, + "large_pads": 2, + "market_id": 3791334912, + "medium_pads": 4, + "name": "Meaney Camp", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 1165.303085, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886257408, + "medium_pads": 0, + "name": "Rawlins Tourist District", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1164.026525, + "has_large_pad": true, + "has_market": true, + "has_outfitting": true, + "large_pads": 4, + "market_id": 3791334656, + "medium_pads": 4, + "name": "Pashin Prospect", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 1997.265237, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3886259712, + "medium_pads": 0, + "name": "Makubuya Synthetics Exchange", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1997.272542, + "has_large_pad": false, + "has_market": true, + "large_pads": 0, + "market_id": 3886259968, + "medium_pads": 0, + "name": "Broutsos Chemical Productions", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 1996.211347, + "has_large_pad": false, + "market_id": 3534865408, + "name": "Ziljak Base" + }, + { + "distance_to_arrival": 1996.211347, + "has_large_pad": false, + "market_id": 3886260224, + "name": "Jawara's Edge" + }, + { + "distance_to_arrival": 1996.229775, + "has_large_pad": true, + "has_outfitting": true, + "large_pads": 4, + "market_id": 3534865152, + "medium_pads": 4, + "name": "McDaniel Landing", + "small_pads": 4, + "type": "Planetary Outpost" + }, + { + "distance_to_arrival": 1989.180912, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886261760, + "medium_pads": 0, + "name": "Nunez Manufacturing Workshop", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1996.955022, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886262272, + "medium_pads": 0, + "name": "Indongo Chemical Workshop", + "small_pads": 1, + "type": "Settlement" + }, + { + "distance_to_arrival": 2001.026127, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886262016, + "medium_pads": 0, + "name": "Martin Synthetics Depot", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1997.540766, + "has_large_pad": true, + "has_market": true, + "large_pads": 2, + "market_id": 3886261504, + "medium_pads": 0, + "name": "Chakraborty's Tranquility", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1996.576124, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886260992, + "medium_pads": 0, + "name": "Laflamme Synthetics Foundry", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1999.187682, + "has_large_pad": false, + "market_id": 3534866176, + "name": "Asire Refinery" + }, + { + "distance_to_arrival": 1996.167121, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886260480, + "medium_pads": 0, + "name": "Poulton's Junction", + "small_pads": 2, + "type": "Settlement" + }, + { + "distance_to_arrival": 1995.953358, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886260736, + "medium_pads": 0, + "name": "Moulin Chemical Enterprise", + "small_pads": 0, + "type": "Settlement" + }, + { + "distance_to_arrival": 1999.108738, + "has_large_pad": true, + "has_market": true, + "large_pads": 1, + "market_id": 3886261248, + "medium_pads": 0, + "name": "Bhardwaj Synthetics Installation", + "small_pads": 0, + "type": "Settlement" + } + ], + "thargoid_war_failure_state": "None", + "thargoid_war_state": "None", + "thargoid_war_success_state": "None", + "updated_at": "2025-01-04 04:02:52+00", + "x": -5.375, + "y": -10.59375, + "z": -8.5 + } +} \ No newline at end of file diff --git a/Tests/Properties/shipMonitor.json b/Tests/Properties/shipMonitor.json index 2bf8b8e2cb..6e01c18778 100644 --- a/Tests/Properties/shipMonitor.json +++ b/Tests/Properties/shipMonitor.json @@ -13,8 +13,15 @@ "roleEDName": "Multipurpose", "raw": null, "RawIsNotNull": false, - "starsystem": "Laksak", - "station": "Stjepan Seljan Hub", + "StoredLocation": { + "systemName": "La Rochelle", + "systemAddress": 9467047454121, + "x": 2.03125, + "y": -11.8125, + "z": 10.8125, + "stationName": "J9J-9KT", + "marketId": 3707594240 + }, "health": 100.0, "cargohatch": null, "bulkheads": null, @@ -46,8 +53,7 @@ "roleEDName": "Combat", "raw": "{ \"timestamp\":\"2018-09-08T05:25:01Z\", \"event\":\"Loadout\", \"Ship\":\"Krait_MkII\", \"ShipID\":81, \"ShipName\":\"The Impact Kraiter\", \"ShipIdent\":\"TK-29K\", \"HullValue\":43055724, \"ModulesValue\":158010270, \"Rebuy\":10053299, \"Modules\":[ { \"Slot\":\"LargeHardpoint1\", \"Item\":\"Hpt_FlechetteLauncher_Fixed_Medium\", \"On\":true, \"Priority\":2, \"AmmoInClip\":1, \"AmmoInHopper\":72, \"Health\":1.000000, \"Value\":310425 }, { \"Slot\":\"LargeHardpoint2\", \"Item\":\"Hpt_Guardian_GaussCannon_Fixed_Medium\", \"On\":true, \"Priority\":2, \"AmmoInClip\":1, \"AmmoInHopper\":80, \"Health\":1.000000, \"Value\":477185 }, { \"Slot\":\"LargeHardpoint3\", \"Item\":\"Hpt_Guardian_GaussCannon_Fixed_Medium\", \"On\":true, \"Priority\":2, \"AmmoInClip\":1, \"AmmoInHopper\":80, \"Health\":1.000000, \"Value\":477185 }, { \"Slot\":\"MediumHardpoint1\", \"Item\":\"Hpt_Guardian_GaussCannon_Fixed_Medium\", \"On\":true, \"Priority\":2, \"AmmoInClip\":1, \"AmmoInHopper\":80, \"Health\":1.000000, \"Value\":477185 }, { \"Slot\":\"MediumHardpoint2\", \"Item\":\"Hpt_Guardian_GaussCannon_Fixed_Medium\", \"On\":true, \"Priority\":2, \"AmmoInClip\":1, \"AmmoInHopper\":80, \"Health\":1.000000, \"Value\":477185 }, { \"Slot\":\"TinyHardpoint1\", \"Item\":\"Hpt_XenoScanner_Basic_Tiny\", \"On\":true, \"Priority\":4, \"Health\":1.000000, \"Value\":320901 }, { \"Slot\":\"TinyHardpoint2\", \"Item\":\"Hpt_HeatSinkLauncher_Turret_Tiny\", \"On\":true, \"Priority\":4, \"AmmoInClip\":1, \"AmmoInHopper\":2, \"Health\":1.000000, \"Value\":2901, \"Engineering\":{ \"Engineer\":\"Ram Tah\", \"EngineerID\":300110, \"BlueprintID\":128731475, \"BlueprintName\":\"HeatSinkLauncher_LightWeight\", \"Level\":5, \"Quality\":0.000000, \"Modifiers\":[ { \"Label\":\"Mass\", \"Value\":0.285552, \"OriginalValue\":1.300000, \"LessIsGood\":1 }, { \"Label\":\"Integrity\", \"Value\":20.351589, \"OriginalValue\":45.000000, \"LessIsGood\":0 } ] } }, { \"Slot\":\"TinyHardpoint3\", \"Item\":\"Hpt_HeatSinkLauncher_Turret_Tiny\", \"On\":true, \"Priority\":4, \"AmmoInClip\":1, \"AmmoInHopper\":3, \"Health\":1.000000, \"Value\":2975, \"Engineering\":{ \"Engineer\":\"Ram Tah\", \"EngineerID\":300110, \"BlueprintID\":128731666, \"BlueprintName\":\"HeatSinkLauncher_HeatSinkCapacity\", \"Level\":3, \"Quality\":0.000000, \"Modifiers\":[ { \"Label\":\"Mass\", \"Value\":3.452597, \"OriginalValue\":1.300000, \"LessIsGood\":1 }, { \"Label\":\"AmmoMaximum\", \"Value\":3.000000, \"OriginalValue\":2.000000, \"LessIsGood\":0 }, { \"Label\":\"ReloadTime\", \"Value\":19.219023, \"OriginalValue\":10.000000, \"LessIsGood\":1 } ] } }, { \"Slot\":\"TinyHardpoint4\", \"Item\":\"Hpt_HeatSinkLauncher_Turret_Tiny\", \"On\":true, \"Priority\":4, \"AmmoInClip\":1, \"AmmoInHopper\":2, \"Health\":1.000000, \"Value\":2901, \"Engineering\":{ \"Engineer\":\"Ram Tah\", \"EngineerID\":300110, \"BlueprintID\":128731475, \"BlueprintName\":\"HeatSinkLauncher_LightWeight\", \"Level\":5, \"Quality\":0.000000, \"Modifiers\":[ { \"Label\":\"Mass\", \"Value\":0.282339, \"OriginalValue\":1.300000, \"LessIsGood\":1 }, { \"Label\":\"Integrity\", \"Value\":20.835684, \"OriginalValue\":45.000000, \"LessIsGood\":0 } ] } }, { \"Slot\":\"Armour\", \"Item\":\"Krait_MkII_Armour_Reactive\", \"On\":true, \"Priority\":1, \"Health\":1.000000, \"Value\":105284479, \"Engineering\":{ \"Engineer\":\"Selene Jean\", \"EngineerID\":300210, \"BlueprintID\":128673654, \"BlueprintName\":\"Armour_Thermic\", \"Level\":5, \"Quality\":1.000000, \"ExperimentalEffect\":\"special_armour_chunky\", \"ExperimentalEffect_Localised\":\"Deep Plating\", \"Modifiers\":[ { \"Label\":\"DefenceModifierHealthMultiplier\", \"Value\":278.000031, \"OriginalValue\":250.000000, \"LessIsGood\":0 }, { \"Label\":\"KineticResistance\", \"Value\":13.480001, \"OriginalValue\":25.000000, \"LessIsGood\":0 }, { \"Label\":\"ThermicResistance\", \"Value\":13.480001, \"OriginalValue\":-39.999996, \"LessIsGood\":0 }, { \"Label\":\"ExplosiveResistance\", \"Value\":7.712001, \"OriginalValue\":19.999998, \"LessIsGood\":0 } ] } }, { \"Slot\":\"PowerPlant\", \"Item\":\"Int_Powerplant_Size6_Class5\", \"On\":true, \"Priority\":1, \"Health\":1.000000, \"Value\":13752602, \"Engineering\":{ \"Engineer\":\"Hera Tani\", \"EngineerID\":300090, \"BlueprintID\":128673768, \"BlueprintName\":\"PowerPlant_Boosted\", \"Level\":4, \"Quality\":0.000000, \"Modifiers\":[ { \"Label\":\"Mass\", \"Value\":19.900530, \"OriginalValue\":20.000000, \"LessIsGood\":1 }, { \"Label\":\"Integrity\", \"Value\":79.813812, \"OriginalValue\":124.000000, \"LessIsGood\":0 }, { \"Label\":\"PowerCapacity\", \"Value\":34.669880, \"OriginalValue\":25.200001, \"LessIsGood\":0 }, { \"Label\":\"HeatEfficiency\", \"Value\":0.532510, \"OriginalValue\":0.400000, \"LessIsGood\":1 } ] } }, { \"Slot\":\"MainEngines\", \"Item\":\"Int_Engine_Size6_Class5\", \"On\":true, \"Priority\":0, \"Health\":1.000000, \"Value\":15775043, \"Engineering\":{ \"Engineer\":\"Professor Palin\", \"EngineerID\":300220, \"BlueprintID\":128673659, \"BlueprintName\":\"Engine_Dirty\", \"Level\":5, \"Quality\":1.000000, \"ExperimentalEffect\":\"special_engine_overloaded\", \"ExperimentalEffect_Localised\":\"Drag Drives\", \"Modifiers\":[ { \"Label\":\"Integrity\", \"Value\":105.400002, \"OriginalValue\":124.000000, \"LessIsGood\":0 }, { \"Label\":\"PowerDraw\", \"Value\":8.467200, \"OriginalValue\":7.560000, \"LessIsGood\":1 }, { \"Label\":\"EngineOptimalMass\", \"Value\":1260.000000, \"OriginalValue\":1440.000000, \"LessIsGood\":0 }, { \"Label\":\"EngineOptPerformance\", \"Value\":145.600006, \"OriginalValue\":100.000000, \"LessIsGood\":0 }, { \"Label\":\"EngineHeatRate\", \"Value\":2.288000, \"OriginalValue\":1.300000, \"LessIsGood\":1 } ] } }, { \"Slot\":\"FrameShiftDrive\", \"Item\":\"Int_Hyperdrive_Size5_Class5\", \"On\":true, \"Priority\":3, \"Health\":1.000000, \"Value\":4976355, \"Engineering\":{ \"Engineer\":\"Felicity Farseer\", \"EngineerID\":300100, \"BlueprintID\":128673694, \"BlueprintName\":\"FSD_LongRange\", \"Level\":5, \"Quality\":1.000000, \"ExperimentalEffect\":\"special_fsd_heavy\", \"ExperimentalEffect_Localised\":\"Mass Manager\", \"Modifiers\":[ { \"Label\":\"Mass\", \"Value\":26.000000, \"OriginalValue\":20.000000, \"LessIsGood\":1 }, { \"Label\":\"Integrity\", \"Value\":93.840004, \"OriginalValue\":120.000000, \"LessIsGood\":0 }, { \"Label\":\"PowerDraw\", \"Value\":0.690000, \"OriginalValue\":0.600000, \"LessIsGood\":1 }, { \"Label\":\"FSDOptimalMass\", \"Value\":1692.599976, \"OriginalValue\":1050.000000, \"LessIsGood\":0 } ] } }, { \"Slot\":\"LifeSupport\", \"Item\":\"Int_LifeSupport_Size4_Class5\", \"On\":true, \"Priority\":3, \"Health\":1.000000, \"Value\":367409, \"Engineering\":{ \"Engineer\":\"Lori Jameson\", \"EngineerID\":300230, \"BlueprintID\":128731494, \"BlueprintName\":\"Misc_LightWeight\", \"Level\":4, \"Quality\":1.000000, \"Modifiers\":[ { \"Label\":\"Mass\", \"Value\":2.500000, \"OriginalValue\":10.000000, \"LessIsGood\":1 }, { \"Label\":\"Integrity\", \"Value\":57.600002, \"OriginalValue\":96.000000, \"LessIsGood\":0 } ] } }, { \"Slot\":\"PowerDistributor\", \"Item\":\"Int_PowerDistributor_Size7_Class5\", \"On\":true, \"Priority\":1, \"Health\":1.000000, \"Value\":8065334, \"Engineering\":{ \"Engineer\":\"The Dweller\", \"EngineerID\":300180, \"BlueprintID\":128673739, \"BlueprintName\":\"PowerDistributor_HighFrequency\", \"Level\":5, \"Quality\":1.000000, \"ExperimentalEffect\":\"special_powerdistributor_fast\", \"ExperimentalEffect_Localised\":\"Super Conduits\", \"Modifiers\":[ { \"Label\":\"WeaponsCapacity\", \"Value\":55.632000, \"OriginalValue\":61.000000, \"LessIsGood\":0 }, { \"Label\":\"WeaponsRecharge\", \"Value\":9.198800, \"OriginalValue\":6.100000, \"LessIsGood\":0 }, { \"Label\":\"EnginesCapacity\", \"Value\":37.391998, \"OriginalValue\":41.000000, \"LessIsGood\":0 }, { \"Label\":\"EnginesRecharge\", \"Value\":6.032000, \"OriginalValue\":4.000000, \"LessIsGood\":0 }, { \"Label\":\"SystemsCapacity\", \"Value\":37.391998, \"OriginalValue\":41.000000, \"LessIsGood\":0 }, { \"Label\":\"SystemsRecharge\", \"Value\":6.032000, \"OriginalValue\":4.000000, \"LessIsGood\":0 } ] } }, { \"Slot\":\"Radar\", \"Item\":\"Int_Sensors_Size6_Class5\", \"On\":true, \"Priority\":1, \"Health\":1.000000, \"Value\":3388796, \"Engineering\":{ \"Engineer\":\"Lori Jameson\", \"EngineerID\":300230, \"BlueprintID\":128740673, \"BlueprintName\":\"Sensor_LightWeight\", \"Level\":5, \"Quality\":1.000000, \"Modifiers\":[ { \"Label\":\"Mass\", \"Value\":8.000000, \"OriginalValue\":40.000000, \"LessIsGood\":1 }, { \"Label\":\"Integrity\", \"Value\":62.000000, \"OriginalValue\":124.000000, \"LessIsGood\":0 }, { \"Label\":\"SensorTargetScanAngle\", \"Value\":22.500000, \"OriginalValue\":30.000000, \"LessIsGood\":0 } ] } }, { \"Slot\":\"FuelTank\", \"Item\":\"Int_FuelTank_Size5_Class3\", \"On\":true, \"Priority\":1, \"Health\":1.000000, \"Value\":95310 }, { \"Slot\":\"Slot01_Size6\", \"Item\":\"Int_ShieldGenerator_Size6_Class3_Fast\", \"On\":true, \"Priority\":1, \"Health\":1.000000, \"Value\":2234799, \"Engineering\":{ \"Engineer\":\"Lei Cheung\", \"EngineerID\":300120, \"BlueprintID\":128673839, \"BlueprintName\":\"ShieldGenerator_Reinforced\", \"Level\":5, \"Quality\":1.000000, \"ExperimentalEffect\":\"special_shield_regenerative\", \"ExperimentalEffect_Localised\":\"Fast Charge\", \"Modifiers\":[ { \"Label\":\"ShieldGenStrength\", \"Value\":124.199997, \"OriginalValue\":90.000000, \"LessIsGood\":0 }, { \"Label\":\"RegenRate\", \"Value\":3.680000, \"OriginalValue\":3.200000, \"LessIsGood\":0 }, { \"Label\":\"BrokenRegenRate\", \"Value\":8.280000, \"OriginalValue\":8.000000, \"LessIsGood\":0 }, { \"Label\":\"EnergyPerRegen\", \"Value\":0.672000, \"OriginalValue\":0.600000, \"LessIsGood\":1 }, { \"Label\":\"KineticResistance\", \"Value\":49.148499, \"OriginalValue\":39.999996, \"LessIsGood\":0 }, { \"Label\":\"ThermicResistance\", \"Value\":-1.703000, \"OriginalValue\":-20.000004, \"LessIsGood\":0 }, { \"Label\":\"ExplosiveResistance\", \"Value\":57.623756, \"OriginalValue\":50.000000, \"LessIsGood\":0 } ] } }, { \"Slot\":\"Slot02_Size6\", \"Item\":\"Int_HullReinforcement_Size5_Class2\", \"On\":true, \"Priority\":1, \"Health\":1.000000, \"Value\":372938, \"Engineering\":{ \"Engineer\":\"Selene Jean\", \"EngineerID\":300210, \"BlueprintID\":128673719, \"BlueprintName\":\"HullReinforcement_HeavyDuty\", \"Level\":5, \"Quality\":1.000000, \"ExperimentalEffect\":\"special_hullreinforcement_chunky\", \"ExperimentalEffect_Localised\":\"Deep Plating\", \"Modifiers\":[ { \"Label\":\"Mass\", \"Value\":22.400000, \"OriginalValue\":16.000000, \"LessIsGood\":1 }, { \"Label\":\"DefenceModifierHealthAddition\", \"Value\":737.880005, \"OriginalValue\":390.000000, \"LessIsGood\":0 }, { \"Label\":\"KineticResistance\", \"Value\":15.467501, \"OriginalValue\":2.499998, \"LessIsGood\":0 }, { \"Label\":\"ThermicResistance\", \"Value\":15.467501, \"OriginalValue\":2.499998, \"LessIsGood\":0 }, { \"Label\":\"ExplosiveResistance\", \"Value\":15.467501, \"OriginalValue\":2.499998, \"LessIsGood\":0 } ] } }, { \"Slot\":\"Slot03_Size5\", \"Item\":\"Int_HullReinforcement_Size5_Class2\", \"On\":true, \"Priority\":1, \"Health\":1.000000, \"Value\":382500, \"Engineering\":{ \"Engineer\":\"Selene Jean\", \"EngineerID\":300210, \"BlueprintID\":128673719, \"BlueprintName\":\"HullReinforcement_HeavyDuty\", \"Level\":5, \"Quality\":1.000000, \"ExperimentalEffect\":\"special_hullreinforcement_chunky\", \"ExperimentalEffect_Localised\":\"Deep Plating\", \"Modifiers\":[ { \"Label\":\"Mass\", \"Value\":22.400000, \"OriginalValue\":16.000000, \"LessIsGood\":1 }, { \"Label\":\"DefenceModifierHealthAddition\", \"Value\":737.880005, \"OriginalValue\":390.000000, \"LessIsGood\":0 }, { \"Label\":\"KineticResistance\", \"Value\":15.467501, \"OriginalValue\":2.499998, \"LessIsGood\":0 }, { \"Label\":\"ThermicResistance\", \"Value\":15.467501, \"OriginalValue\":2.499998, \"LessIsGood\":0 }, { \"Label\":\"ExplosiveResistance\", \"Value\":15.467501, \"OriginalValue\":2.499998, \"LessIsGood\":0 } ] } }, { \"Slot\":\"Slot04_Size5\", \"Item\":\"Int_BuggyBay_Size4_Class2\", \"On\":true, \"Priority\":0, \"Health\":1.000000, \"Value\":71604 }, { \"Slot\":\"Slot05_Size4\", \"Item\":\"Int_CorrosionProofCargoRack_Size4_Class1\", \"On\":true, \"Priority\":1, \"Health\":1.000000, \"Value\":78175 }, { \"Slot\":\"Slot06_Size3\", \"Item\":\"Int_GuardianModuleReinforcement_Size3_Class2\", \"On\":true, \"Priority\":0, \"Health\":1.000000, \"Value\":143208 }, { \"Slot\":\"Slot07_Size3\", \"Item\":\"Int_HullReinforcement_Size3_Class2\", \"On\":true, \"Priority\":1, \"Health\":1.000000, \"Value\":69615, \"Engineering\":{ \"Engineer\":\"Selene Jean\", \"EngineerID\":300210, \"BlueprintID\":128673719, \"BlueprintName\":\"HullReinforcement_HeavyDuty\", \"Level\":5, \"Quality\":1.000000, \"ExperimentalEffect\":\"special_hullreinforcement_chunky\", \"ExperimentalEffect_Localised\":\"Deep Plating\", \"Modifiers\":[ { \"Label\":\"Mass\", \"Value\":5.600000, \"OriginalValue\":4.000000, \"LessIsGood\":1 }, { \"Label\":\"DefenceModifierHealthAddition\", \"Value\":491.920013, \"OriginalValue\":260.000000, \"LessIsGood\":0 }, { \"Label\":\"KineticResistance\", \"Value\":14.600497, \"OriginalValue\":1.499999, \"LessIsGood\":0 }, { \"Label\":\"ThermicResistance\", \"Value\":14.600497, \"OriginalValue\":1.499999, \"LessIsGood\":0 }, { \"Label\":\"ExplosiveResistance\", \"Value\":14.600497, \"OriginalValue\":1.499999, \"LessIsGood\":0 } ] } }, { \"Slot\":\"Slot08_Size2\", \"Item\":\"Int_Repairer_Size2_Class4\", \"On\":true, \"Priority\":0, \"AmmoInClip\":2800, \"Health\":1.000000, \"Value\":402773 }, { \"Slot\":\"PlanetaryApproachSuite\", \"Item\":\"Int_PlanetApproachSuite\", \"On\":true, \"Priority\":1, \"Health\":1.000000, \"Value\":487 }, { \"Slot\":\"VesselVoice\", \"Item\":\"VoicePack_Verity\", \"On\":true, \"Priority\":1, \"Health\":1.000000 }, { \"Slot\":\"ShipCockpit\", \"Item\":\"Krait_MkII_Cockpit\", \"On\":true, \"Priority\":1, \"Health\":1.000000 }, { \"Slot\":\"CargoHatch\", \"Item\":\"ModularCargoBayDoor\", \"On\":true, \"Priority\":4, \"Health\":1.000000 } ] }", "RawIsNotNull": true, - "starsystem": null, - "station": null, + "StoredLocation": null, "health": 100.0, "cargohatch": { "edname": "ModularCargoBayDoor", diff --git a/Tests/ShipMonitorTests.cs b/Tests/ShipMonitorTests.cs index 480e965420..c0b88da4eb 100644 --- a/Tests/ShipMonitorTests.cs +++ b/Tests/ShipMonitorTests.cs @@ -337,8 +337,8 @@ public void TestShipMonitorDeserialization() Assert.AreEqual("Cobra Mk. III", ship1.model); Assert.AreEqual(0, ship1.LocalId); Assert.AreEqual("The Dynamo", ship1.name); - Assert.AreEqual("Laksak", ship1.starsystem); - Assert.AreEqual("Stjepan Seljan Hub", ship1.station); + Assert.AreEqual("La Rochelle", ship1.starsystem); + Assert.AreEqual( "J9J-9KT", ship1.station); Assert.AreEqual(8605684, ship1.value); Assert.IsNotNull(ship2); @@ -531,7 +531,11 @@ public void TestShipJumpedEvent() var shipMonitor = new ShipMonitor { updatedAt = DateTime.MinValue }; // Set up our ship - var ship = new Ship { LocalId = 9999, x = 0, y = 0, z = 0 }; + var ship = new Ship + { + LocalId = 9999, + StoredLocation = new Ship.Location( DeserializeJsonResource( Resources.sqlStarSystem6 ), "Furukawa Enterprise", 3534391808 ) + }; shipMonitor.RemoveShip(9999); shipMonitor.AddShip(ship); diff --git a/Tests/SpanshServiceTests.cs b/Tests/SpanshServiceTests.cs index d8dd43f58b..5d292a0cc3 100644 --- a/Tests/SpanshServiceTests.cs +++ b/Tests/SpanshServiceTests.cs @@ -558,7 +558,7 @@ public void TestQuickSystemStations () { // Arrange EDDI.Instance.DataProvider = ConfigureTestDataProvider(); - fakeSpanshRestClient.Expect( @"search?q=10477373803", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemSol ) ); + fakeSpanshRestClient.Expect( @"system/10477373803", Encoding.UTF8.GetString( Resources.SpanshQuickStarSystemSol ) ); // Act var starSystem = fakeSpanshService.GetQuickStarSystem(10477373803U); diff --git a/Tests/TestBase.cs b/Tests/TestBase.cs index 8642e76995..f81e180f69 100644 --- a/Tests/TestBase.cs +++ b/Tests/TestBase.cs @@ -8,6 +8,7 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Newtonsoft.Json; using Newtonsoft.Json.Linq; +using System.Data.SQLite; using System.IO; // Number of worker threads is automatic because `Workers` is set to 0. @@ -32,6 +33,10 @@ public class TestBase internal static readonly FakeEdsmRestClient fakeEdsmRestClient = new FakeEdsmRestClient(); internal static readonly StarMapService fakeEdsmService = new StarMapService(fakeEdsmRestClient); + private static readonly string testDatabaseDir = @"C:\Temp"; + internal static SQLiteConnection fakeSqLiteConnection; + internal static StarSystemSqLiteRepository fakeStarSystemSqLiteRepository; + internal void MakeSafe() { // Prevent telemetry data from being reported based on test results @@ -49,7 +54,12 @@ internal void MakeSafe() internal DataProviderService ConfigureTestDataProvider () { - return new DataProviderService( fakeBgsService, fakeEdsmService, fakeSpanshService, new StarSystemSqLiteRepository() { } ); + // Create a temporary database for testing + Directory.CreateDirectory( testDatabaseDir ); + fakeSqLiteConnection = new SQLiteConnection( $@"Data Source={testDatabaseDir}\EDDI_TEST.sqlite" ); + fakeStarSystemSqLiteRepository = new StarSystemSqLiteRepository( fakeSqLiteConnection ); + + return new DataProviderService( fakeBgsService, fakeEdsmService, fakeSpanshService, fakeStarSystemSqLiteRepository ); } public static T DeserializeJsonResource(byte[] data, JsonSerializerSettings settings = null) where T : class