using NewHorizons.External.Modules.Volumes.VolumeInfos;
using Newtonsoft.Json;
namespace NewHorizons.External.Modules.Volumes
{
[JsonObject]
public class VolumesModule
{
///
/// Add audio volumes to this planet.
///
public AudioVolumeInfo[] audioVolumes;
///
/// Add condition trigger volumes to this planet. Sets a condition when the player, scout, or ship enters this volume.
///
public ConditionTriggerVolumeInfo[] conditionTriggerVolumes;
///
/// Add day night audio volumes to this planet. These volumes play a different clip depending on the time of day.
///
public DayNightAudioVolumeInfo[] dayNightAudioVolumes;
///
/// Add destruction volumes to this planet.
/// Destroys bodies if they enter this volume. Can kill the player and recall the scout probe.
///
public DestructionVolumeInfo[] destructionVolumes;
///
/// Add fluid volumes to this planet.
///
public FluidVolumeInfo[] fluidVolumes;
///
/// Add force volumes to this planet.
///
public ForceModule forces;
///
/// Add hazard volumes to this planet.
/// Causes damage to player when inside this volume.
///
public HazardVolumeInfo[] hazardVolumes;
///
/// Add interaction volumes to this planet.
/// They can be interacted with by the player to trigger various effects.
///
public InteractionVolumeInfo[] interactionVolumes;
///
/// Add interference volumes to this planet.
/// Hides HUD markers of ship scout/probe and prevents scout photos if you are not inside the volume together with ship or scout probe.
///
public VolumeInfo[] interferenceVolumes;
///
/// Add insulating volumes to this planet.
/// These will stop electricty hazard volumes from affecting you (just like the jellyfish).
///
public VolumeInfo[] insulatingVolumes;
///
/// Add light source volumes to this planet.
/// These will activate rafts and other light detectors.
///
public VolumeInfo[] lightSourceVolumes;
///
/// Add map restriction volumes to this planet.
/// The map will be disabled when inside this volume.
///
public VolumeInfo[] mapRestrictionVolumes;
///
/// Add notification volumes to this planet.
/// Sends a notification to the player just like ghost matter does when you get too close
/// and also to the ship just like when you damage a component on the ship.
///
public NotificationVolumeInfo[] notificationVolumes;
///
/// Add oxygen volumes to this planet.
///
public OxygenVolumeInfo[] oxygenVolumes;
///
/// Add probe-specific volumes to this planet.
///
public ProbeModule probe;
///
/// Add reference frame blocker volumes to this planet.
/// These will stop the player from seeing/targeting any reference frames.
///
public VolumeInfo[] referenceFrameBlockerVolumes;
///
/// Add triggers that reveal parts of the ship log on this planet.
///
public RevealVolumeInfo[] revealVolumes;
///
/// Add reverb volumes to this planet. Great for echoes in caves.
///
public VolumeInfo[] reverbVolumes;
///
/// Add ruleset volumes to this planet.
///
public RulesetModule rulesets;
///
/// Add speed trap volumes to this planet.
/// Slows down the player when they enter this volume.
///
public SpeedTrapVolumeInfo[] speedTrapVolumes;
///
/// Add speed limiter volumes to this planet.
/// Slows down the player, ship, and probe when they enter this volume.
/// Used on the Stranger in DLC.
///
public SpeedLimiterVolumeInfo[] speedLimiterVolumes;
///
/// Add visor effect volumes to this planet.
///
public VisorEffectModule visorEffects;
///
/// Add zero-gravity volumes to this planet.
/// Good for surrounding planets which are using a static position to stop the player being pulled away.
///
public PriorityVolumeInfo[] zeroGravityVolumes;
///
/// Entering this volume will load a new solar system.
///
public ChangeStarSystemVolumeInfo[] solarSystemVolume;
///
/// Enter this volume to be sent to the end credits scene
///
public LoadCreditsVolumeInfo[] creditsVolume;
}
}