@@ -314,6 +314,54 @@ public class SessionSettingsViewModel : ViewModel
314314
315315 [ Torch . Views . Display ( Description = "Enables system for weather" , Name = "Enable Weather System" , GroupName = "Others" ) ]
316316 public bool EnableWeatherSystem { get => _settings . WeatherSystem ; set => SetValue ( ref _settings . WeatherSystem , value ) ; }
317+
318+ [ Torch . Views . Display ( Description = "Global encounter spawn timer in minutes." , Name = "Global Encounter Timer" , GroupName = "NPCs" ) ]
319+ public int GlobalEncounterTimer { get => _settings . GlobalEncounterTimer ; set => SetValue ( ref _settings . GlobalEncounterTimer , value ) ; }
320+
321+ [ Torch . Views . Display ( Description = "Maximum number of encounters that can exist at once. 0 means unlimited." , Name = "Global Encounter Cap" , GroupName = "NPCs" ) ]
322+ public int GlobalEncounterCap { get => _settings . GlobalEncounterCap ; set => SetValue ( ref _settings . GlobalEncounterCap , value ) ; }
323+
324+ [ Torch . Views . Display ( Description = "Enables automatic removal of encounters after a time period." , Name = "Enable Encounter Removal Timer" , GroupName = "NPCs" ) ]
325+ public bool GlobalEncounterEnableRemovalTimer { get => _settings . GlobalEncounterEnableRemovalTimer ; set => SetValue ( ref _settings . GlobalEncounterEnableRemovalTimer , value ) ; }
326+
327+ [ Torch . Views . Display ( Description = "Minimum time in minutes before an encounter can be removed." , Name = "Min Encounter Removal Timer" , GroupName = "NPCs" ) ]
328+ public int GlobalEncounterMinRemovalTimer { get => _settings . GlobalEncounterMinRemovalTimer ; set => SetValue ( ref _settings . GlobalEncounterMinRemovalTimer , value ) ; }
329+
330+ [ Torch . Views . Display ( Description = "Maximum time in minutes before an encounter is removed." , Name = "Max Encounter Removal Timer" , GroupName = "NPCs" ) ]
331+ public int GlobalEncounterMaxRemovalTimer { get => _settings . GlobalEncounterMaxRemovalTimer ; set => SetValue ( ref _settings . GlobalEncounterMaxRemovalTimer , value ) ; }
332+
333+ [ Torch . Views . Display ( Description = "Time in minutes between encounter removal checks." , Name = "Encounter Removal Check Interval" , GroupName = "NPCs" ) ]
334+ public int GlobalEncounterRemovalTimeClock { get => _settings . GlobalEncounterRemovalTimeClock ; set => SetValue ( ref _settings . GlobalEncounterRemovalTimeClock , value ) ; }
335+
336+ [ Torch . Views . Display ( Description = "Density of encounters in the world (0.0 to 1.0)." , Name = "Encounter Density" , GroupName = "NPCs" ) ]
337+ public float EncounterDensity { get => _settings . EncounterDensity ; set => SetValue ( ref _settings . EncounterDensity , value ) ; }
338+
339+ [ Torch . Views . Display ( Description = "Version of the encounter generator system." , Name = "Encounter Generator Version" , GroupName = "NPCs" ) ]
340+ public int EncounterGeneratorVersion { get => _settings . EncounterGeneratorVersion ; set => SetValue ( ref _settings . EncounterGeneratorVersion , value ) ; }
341+
342+ [ Torch . Views . Display ( Description = "Enables encounters on planets." , Name = "Enable Planetary Encounters" , GroupName = "NPCs" ) ]
343+ public bool EnablePlanetaryEncounters { get => _settings . EnablePlanetaryEncounters ; set => SetValue ( ref _settings . EnablePlanetaryEncounters , value ) ; }
344+
345+ [ Torch . Views . Display ( Description = "Minimum time in minutes between planetary encounter spawns." , Name = "Min Planetary Encounter Timer" , GroupName = "NPCs" ) ]
346+ public float PlanetaryEncounterTimerMin { get => _settings . PlanetaryEncounterTimerMin ; set => SetValue ( ref _settings . PlanetaryEncounterTimerMin , value ) ; }
347+
348+ [ Torch . Views . Display ( Description = "Maximum time in minutes between planetary encounter spawns." , Name = "Max Planetary Encounter Timer" , GroupName = "NPCs" ) ]
349+ public float PlanetaryEncounterTimerMax { get => _settings . PlanetaryEncounterTimerMax ; set => SetValue ( ref _settings . PlanetaryEncounterTimerMax , value ) ; }
350+
351+ [ Torch . Views . Display ( Description = "Range in meters to check for existing structures when spawning planetary encounters." , Name = "Planetary Encounter Structure Range" , GroupName = "NPCs" ) ]
352+ public int PlanetaryEncounterExistingStructuresRange { get => _settings . PlanetaryEncounterExistingStructuresRange ; set => SetValue ( ref _settings . PlanetaryEncounterExistingStructuresRange , value ) ; }
353+
354+ [ Torch . Views . Display ( Description = "Range in meters for area lockdown when spawning planetary encounters." , Name = "Planetary Encounter Lockdown Range" , GroupName = "NPCs" ) ]
355+ public int PlanetaryEncounterAreaLockdownRange { get => _settings . PlanetaryEncounterAreaLockdownRange ; set => SetValue ( ref _settings . PlanetaryEncounterAreaLockdownRange , value ) ; }
356+
357+ [ Torch . Views . Display ( Description = "Desired spawn range in meters for planetary encounters." , Name = "Planetary Encounter Spawn Range" , GroupName = "NPCs" ) ]
358+ public int PlanetaryEncounterDesiredSpawnRange { get => _settings . PlanetaryEncounterDesiredSpawnRange ; set => SetValue ( ref _settings . PlanetaryEncounterDesiredSpawnRange , value ) ; }
359+
360+ [ Torch . Views . Display ( Description = "Range in meters to check for player presence near planetary encounters." , Name = "Planetary Encounter Presence Range" , GroupName = "NPCs" ) ]
361+ public int PlanetaryEncounterPresenceRange { get => _settings . PlanetaryEncounterPresenceRange ; set => SetValue ( ref _settings . PlanetaryEncounterPresenceRange , value ) ; }
362+
363+ [ Torch . Views . Display ( Description = "Time in minutes before despawning planetary encounters with no player presence." , Name = "Planetary Encounter Despawn Timeout" , GroupName = "NPCs" ) ]
364+ public float PlanetaryEncounterDespawnTimeout { get => _settings . PlanetaryEncounterDespawnTimeout ; set => SetValue ( ref _settings . PlanetaryEncounterDespawnTimeout , value ) ; }
317365
318366 public SessionSettingsViewModel ( MyObjectBuilder_SessionSettings settings )
319367 {
0 commit comments