diff --git a/NewHorizons/Builder/ShipLog/RevealBuilder.cs b/NewHorizons/Builder/ShipLog/RevealBuilder.cs index 3bfcdd69..fabe46cd 100644 --- a/NewHorizons/Builder/ShipLog/RevealBuilder.cs +++ b/NewHorizons/Builder/ShipLog/RevealBuilder.cs @@ -76,6 +76,22 @@ namespace NewHorizons.Builder.ShipLog { var factRevealVolume = go.AddComponent(); factRevealVolume._factIDs = info.reveals; + switch (info.revealFor) + { + case VolumesModule.RevealVolumeInfo.EnterType.Player: + factRevealVolume._player = true; + factRevealVolume._probe = false; + break; + case VolumesModule.RevealVolumeInfo.EnterType.Probe: + factRevealVolume._player = false; + factRevealVolume._probe = true; + break; + case VolumesModule.RevealVolumeInfo.EnterType.Both: + default: + factRevealVolume._player = false; + factRevealVolume._probe = false; + break; + } } if (!string.IsNullOrEmpty(info.achievementID)) diff --git a/NewHorizons/External/Modules/VolumesModule.cs b/NewHorizons/External/Modules/VolumesModule.cs index 5791dd9a..3d923cc2 100644 --- a/NewHorizons/External/Modules/VolumesModule.cs +++ b/NewHorizons/External/Modules/VolumesModule.cs @@ -109,6 +109,16 @@ namespace NewHorizons.External.Modules [EnumMember(Value = @"snapshot")] Snapshot = 2 } + [JsonConverter(typeof(StringEnumConverter))] + public enum EnterType + { + [EnumMember(Value = @"both")] Both = 0, + + [EnumMember(Value = @"player")] Player = 1, + + [EnumMember(Value = @"probe")] Probe = 2 + } + /// /// The max view angle (in degrees) the player can see the volume with to unlock the fact (`observe` only) /// @@ -124,6 +134,11 @@ namespace NewHorizons.External.Modules /// [DefaultValue("enter")] public RevealVolumeType revealOn = RevealVolumeType.Enter; + /// + /// What needs to be enter the volume to unlock the facts (`enter` only) + /// + [DefaultValue("both")] public EnterType revealFor = EnterType.Both; + /// /// A list of facts to reveal ///