From 04c86f6d9cfcbb60e6a3f02ad8c56f25bd0cae4e Mon Sep 17 00:00:00 2001 From: Archangel Date: Fri, 19 Dec 2025 15:12:56 +0100 Subject: [PATCH] Enable events on transit, set khorovod time to 300 seconds --- .../Services/LocationLifecycleService.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Libraries/SPTarkov.Server.Core/Services/LocationLifecycleService.cs b/Libraries/SPTarkov.Server.Core/Services/LocationLifecycleService.cs index 1d82ab47..796bb3bb 100644 --- a/Libraries/SPTarkov.Server.Core/Services/LocationLifecycleService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/LocationLifecycleService.cs @@ -112,13 +112,25 @@ public class LocationLifecycleService( RagfairConfig.RunIntervalSeconds = RagfairConfig.RunIntervalValues.InRaid; HideoutConfig.RunIntervalSeconds = HideoutConfig.RunIntervalValues.InRaid; + var location = GenerateLocationAndLoot(sessionId, request.Location, !request.ShouldSkipLootGeneration ?? true); + + foreach (var transits in location.Transits) + { + // Handle Runddans / Khorovod event + if (transitionType == TransitionType.EVENT && databaseService.GetGlobals().Configuration.RunddansSettings.Active) + { + transits.ActivateAfterSeconds = 300; + transits.Events = true; + } + } + var result = new StartLocalRaidResponseData { // PVE_OFFLINE_xxxxxxxx_27_06_2025_20_20_44 ServerId = $"{request.Location}.{request.PlayerSide} {timeUtil.GetTimeStamp()}", // Only used for metrics in client ServerSettings = databaseService.GetLocationServices(), // TODO - is this per map or global? Profile = new ProfileInsuredItems { InsuredItems = playerProfile.CharacterData.PmcData.InsuredItems }, - LocationLoot = GenerateLocationAndLoot(sessionId, request.Location, !request.ShouldSkipLootGeneration ?? true), + LocationLoot = location, TransitionType = transitionType, Transition = new Transition {