diff --git a/Process/Processor/DumpProcessor/MultithreadSteppedDumpProcessor.cs b/Process/Processor/DumpProcessor/MultithreadSteppedDumpProcessor.cs index f83d9c1..4b1c41b 100644 --- a/Process/Processor/DumpProcessor/MultithreadSteppedDumpProcessor.cs +++ b/Process/Processor/DumpProcessor/MultithreadSteppedDumpProcessor.cs @@ -66,18 +66,31 @@ public class MultithreadSteppedDumpProcessor : IDumpProcessor var mapId = dataDump.Data.LocationLoot.Id.ToLower(); - // the if statement below takes care of processing "forced" or real static data for each map, only need - // to do this once per map, we dont care about doing it again + // Because we may use multiple version dumps for map data, merge the static loot between dumps lock (staticContainersLock) { - if (!staticContainers.ContainsKey(mapId)) + if (!staticContainers.TryGetValue(mapId, out var mapStaticLoot)) { if (LoggerFactory.GetInstance().CanBeLogged(LogLevel.Info)) LoggerFactory.GetInstance().Log($"Doing first time process for map {mapId} of real static data", LogLevel.Info); - var mapStaticContainers = StaticLootProcessor.CreateStaticWeaponsAndStaticForcedContainers(dataDump); + + staticContainers[mapId] = new MapStaticLoot + { + StaticWeapons = new List