From 294c879f11d9b02fefbabc905918cf9cb9dc5f14 Mon Sep 17 00:00:00 2001 From: hulkhan22 Date: Mon, 28 Apr 2025 00:23:01 +0200 Subject: [PATCH] Fix cultist circle not giving reward --- .../SPTarkov.Server.Core/Routers/EventOutputHolder.cs | 8 +++++++- .../Services/CircleOfCultistService.cs | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Routers/EventOutputHolder.cs b/Libraries/SPTarkov.Server.Core/Routers/EventOutputHolder.cs index b9713596..0d631ce9 100644 --- a/Libraries/SPTarkov.Server.Core/Routers/EventOutputHolder.cs +++ b/Libraries/SPTarkov.Server.Core/Routers/EventOutputHolder.cs @@ -134,7 +134,13 @@ public class EventOutputHolder { foreach (var production in productions) { - if ((production.Value.SptIsComplete ?? false) && (production.Value.SptIsContinuous ?? false)) + if (production.Value == null) + { + // cultist circle + // remove production in case client already issued a HideoutDeleteProductionCommand and the item is moved to stash + productions.Remove(production.Key); + } + else if ((production.Value.SptIsComplete ?? false) && (production.Value.SptIsContinuous ?? false)) { // Water collector / Bitcoin etc production.Value.SptIsComplete = false; diff --git a/Libraries/SPTarkov.Server.Core/Services/CircleOfCultistService.cs b/Libraries/SPTarkov.Server.Core/Services/CircleOfCultistService.cs index 118f7c48..baebc08c 100644 --- a/Libraries/SPTarkov.Server.Core/Services/CircleOfCultistService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/CircleOfCultistService.cs @@ -58,7 +58,12 @@ public class CircleOfCultistService( HideoutCircleOfCultistProductionStartRequestData request ) { - var cultistCircleStashId = pmcData.Inventory.HideoutAreaStashes.GetValueOrDefault(HideoutAreas.CIRCLE_OF_CULTISTS.ToString()); + var cultistCircleStashId = pmcData.Inventory.HideoutAreaStashes.GetValueOrDefault(((int)HideoutAreas.CIRCLE_OF_CULTISTS).ToString()); + + if (cultistCircleStashId is null) + { + _logger.Critical("Could not find cultist circle stash ID! This may result in no rewards..."); + } // `cultistRecipes` just has single recipeId var cultistCraftData = _databaseService.GetHideout().Production.CultistRecipes.FirstOrDefault();