From 49996e5f48efe799813a62cee41c314ee064543b Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Fri, 25 Nov 2022 17:23:13 -0500 Subject: [PATCH] Add probe volumes --- .../Builder/Volumes/VolumesBuildManager.cs | 17 +++++++++++++++++ NewHorizons/External/Modules/VolumesModule.cs | 19 +++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/NewHorizons/Builder/Volumes/VolumesBuildManager.cs b/NewHorizons/Builder/Volumes/VolumesBuildManager.cs index c70cf1bb..ecd1c5e3 100644 --- a/NewHorizons/Builder/Volumes/VolumesBuildManager.cs +++ b/NewHorizons/Builder/Volumes/VolumesBuildManager.cs @@ -106,6 +106,23 @@ namespace NewHorizons.Builder.Volumes FluidVolumeBuilder.Make(go, sector, fluidVolume); } } + if (config.Volumes.probe != null) + { + if (config.Volumes.probe.destructionVolumes != null) + { + foreach (var destructionVolume in config.Volumes.probe.destructionVolumes) + { + VolumeBuilder.Make(go, sector, destructionVolume); + } + } + if (config.Volumes.probe.safetyVolumes != null) + { + foreach (var safetyVolume in config.Volumes.probe.safetyVolumes) + { + VolumeBuilder.Make(go, sector, safetyVolume); + } + } + } } } } diff --git a/NewHorizons/External/Modules/VolumesModule.cs b/NewHorizons/External/Modules/VolumesModule.cs index a0aacd0e..3c2f898b 100644 --- a/NewHorizons/External/Modules/VolumesModule.cs +++ b/NewHorizons/External/Modules/VolumesModule.cs @@ -60,6 +60,11 @@ namespace NewHorizons.External.Modules /// public OxygenVolumeInfo[] oxygenVolumes; + /// + /// Add probe-specific volumes to this planet. + /// + public ProbeModule probe; + /// /// Add triggers that reveal parts of the ship log on this planet. /// @@ -384,6 +389,20 @@ namespace NewHorizons.External.Modules [EnumMember(Value = @"fog")] FOG } } + + [JsonObject] + public class ProbeModule + { + /// + /// Add probe destruction volumes to this planet. These will delete your probe. + /// + public VolumeInfo[] destructionVolumes; + + /// + /// Add probe safety volumes to this planet. These will stop the probe destruction volumes from working. + /// + public VolumeInfo[] safetyVolumes; + } } [JsonConverter(typeof(StringEnumConverter))]