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))]