From 15fbe958c91727e9c949db688207b8b49717ec98 Mon Sep 17 00:00:00 2001 From: Chomp Date: Wed, 29 Oct 2025 17:01:57 +0000 Subject: [PATCH] Don't apply hostility changes to maps without zombies during halloween `ReplaceBotHostiltiy` has optional map whitelist param --- .../Services/SeasonalEventService.cs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Services/SeasonalEventService.cs b/Libraries/SPTarkov.Server.Core/Services/SeasonalEventService.cs index 6fb35ab1..27999a1b 100644 --- a/Libraries/SPTarkov.Server.Core/Services/SeasonalEventService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/SeasonalEventService.cs @@ -457,7 +457,10 @@ public class SeasonalEventService( if (eventType.Settings?.ReplaceBotHostility ?? false) { - ReplaceBotHostility(SeasonalEventConfig.HostilitySettingsForEvent.FirstOrDefault(x => x.Key == "zombies").Value); + ReplaceBotHostility( + SeasonalEventConfig.HostilitySettingsForEvent.FirstOrDefault(x => x.Key == "zombies").Value, + GetLocationsWithZombies(eventType.Settings.ZombieSettings.MapInfectionAmount) + ); } if (eventType.Settings?.AdjustBotAppearances ?? false) @@ -602,7 +605,10 @@ public class SeasonalEventService( } } - protected void ReplaceBotHostility(Dictionary> hostilitySettings) + protected void ReplaceBotHostility( + Dictionary> hostilitySettings, + HashSet? locationWhitelist = null + ) { var locations = databaseService.GetLocations().GetDictionary(); var ignoreList = LocationConfig.NonMaps; @@ -630,6 +636,11 @@ public class SeasonalEventService( } } + if (locationWhitelist is not null && !locationWhitelist.Contains(locationName)) + { + continue; + } + foreach (var settings in newHostilitySettings) { var matchingBaseSettings = locationBase.Base.BotLocationModifier?.AdditionalHostilitySettings?.FirstOrDefault(x =>