From bf12e2f400d667251395fe2d33f66efbef356a7c Mon Sep 17 00:00:00 2001 From: hulkhan22 Date: Sun, 27 Apr 2025 20:36:26 +0200 Subject: [PATCH 1/4] Fix productions not advancing without generator on --- .../SPTarkov.Server.Core/Helpers/HideoutHelper.cs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs index f05fb630..1685378d 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs @@ -437,9 +437,18 @@ public class HideoutHelper( var timeElapsed = GetTimeElapsedSinceLastServerTick(pmcData, hideoutProperties.IsGeneratorOn, recipe); // Increment progress by time passed - var production = pmcData.Hideout.Production[prodId]; + var production = pmcData.Hideout.Production[prodId]!; + // Some items NEED power to craft (e.g. DSP) - production.Progress += (production.needFuelForAllProductionTime ?? false) && !hideoutProperties.IsGeneratorOn ? 0 : timeElapsed; + if (production.needFuelForAllProductionTime == true && hideoutProperties.IsGeneratorOn) + { + production.Progress += timeElapsed; + } + else if (!(production.needFuelForAllProductionTime ?? false)) + // Increment progress if production does not necessarily need fuel to continue + { + production.Progress += timeElapsed; + } // Limit progress to total production time if progress is over (dont run for continious crafts)) if (!(recipe.Continuous ?? false)) @@ -1196,7 +1205,7 @@ public class HideoutHelper( if (!isGeneratorOn) { - timeElapsed *= (long) _databaseService.GetHideout().Settings.GeneratorSpeedWithoutFuel; + timeElapsed = (long) (timeElapsed * _databaseService.GetHideout().Settings.GeneratorSpeedWithoutFuel); } return timeElapsed; From 36a23f0d43683f88e36bf873d9a8cfece5b57184 Mon Sep 17 00:00:00 2001 From: hulkhan22 Date: Sun, 27 Apr 2025 20:41:04 +0200 Subject: [PATCH 2/4] Revert nullable ref --- Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs index 1685378d..796d3363 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs @@ -437,7 +437,7 @@ public class HideoutHelper( var timeElapsed = GetTimeElapsedSinceLastServerTick(pmcData, hideoutProperties.IsGeneratorOn, recipe); // Increment progress by time passed - var production = pmcData.Hideout.Production[prodId]!; + var production = pmcData.Hideout.Production[prodId]; // Some items NEED power to craft (e.g. DSP) if (production.needFuelForAllProductionTime == true && hideoutProperties.IsGeneratorOn) From 53d3c7fcce1f9b08f17327e96f3c19d394d0738a Mon Sep 17 00:00:00 2001 From: hulkhan22 Date: Sun, 27 Apr 2025 21:41:55 +0200 Subject: [PATCH 3/4] Convert to .GetValueOrDefault() --- Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs index 796d3363..9d441422 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs @@ -440,7 +440,7 @@ public class HideoutHelper( var production = pmcData.Hideout.Production[prodId]; // Some items NEED power to craft (e.g. DSP) - if (production.needFuelForAllProductionTime == true && hideoutProperties.IsGeneratorOn) + if (production.needFuelForAllProductionTime.GetValueOrDefault() && hideoutProperties.IsGeneratorOn) { production.Progress += timeElapsed; } From ac41596aef7dfb809718fc09cbb12725cfbabe4e Mon Sep 17 00:00:00 2001 From: hulkhan22 Date: Sun, 27 Apr 2025 21:43:24 +0200 Subject: [PATCH 4/4] Convert to .GetValueOrDefault() --- Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs index 9d441422..71648bdb 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs @@ -444,7 +444,7 @@ public class HideoutHelper( { production.Progress += timeElapsed; } - else if (!(production.needFuelForAllProductionTime ?? false)) + else if (!production.needFuelForAllProductionTime.GetValueOrDefault()) // Increment progress if production does not necessarily need fuel to continue { production.Progress += timeElapsed;