2
0
mirror of https://github.com/9ParsonsB/Pulsar.git synced 2025-04-05 17:39:39 -04:00

added HighValueMappable checks (#81)

* added HighValueMappable checks

* added high value mappable details
This commit is contained in:
Phil Chuang 2022-05-09 09:42:17 -04:00 committed by GitHub
parent fb45b5c3e2
commit 9708a5fbc7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 0 deletions

View File

@ -9,6 +9,18 @@ namespace Observatory.Explorer
{
internal static class DefaultCriteria
{
private static IList<string> HighValueNonTerraformablePlanetClasses = new string[] {
"Earthlike body",
"Ammonia world",
"Water world",
};
private static IList<string> HighValueTerraformablePlanetClasses = new string[] {
"Water world",
"High metal content body",
"Rocky body",
};
public static List<(string Description, string Detail, bool SystemWide)> CheckInterest(Scan scan, Dictionary<ulong, Dictionary<int, Scan>> scanHistory, Dictionary<ulong, Dictionary<int, FSSBodySignals>> signalHistory, ExplorerSettings settings)
{
List<(string, string, bool)> results = new();
@ -46,6 +58,20 @@ namespace Observatory.Explorer
}
#endregion
#region Value Checks
if (settings.HighValueMappable)
{
if (HighValueTerraformablePlanetClasses.Contains(scan.PlanetClass) && scan.TerraformState?.Length > 0)
{
results.Add("High-Value Mapping", $"{scan.DistanceFromArrivalLS:0}Ls, {scan.PlanetClass} (TF)");
}
if (HighValueNonTerraformablePlanetClasses.Contains(scan.PlanetClass) && scan.TerraformState?.Length == 0)
{
results.Add("High-Value Mapping", $"{scan.DistanceFromArrivalLS:0}Ls, {scan.PlanetClass}");
}
}
#endregion
#region Parent Relative Checks
if (scan.SystemAddress != 0 && scan.SemiMajorAxis != 0 &&

View File

@ -80,6 +80,9 @@ namespace Observatory.Explorer
[SettingDisplayName("All Surface Mats In System")]
public bool GoldSystem { get; set; }
[SettingDisplayName("High-Value Mapping")]
public bool HighValueMappable { get; set; }
[SettingDisplayName("Enable Custom Criteria")]
public bool EnableCustomCriteria { get; set; }