Fix productions not advancing without generator on

This commit is contained in:
hulkhan22
2025-04-27 20:36:26 +02:00
parent d7e67af662
commit bf12e2f400
@@ -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;