fix hideout takeProduction

This commit is contained in:
CWX
2025-01-28 15:59:17 +00:00
parent 078e1b1b36
commit 1900982a1e
3 changed files with 9 additions and 17 deletions
@@ -666,14 +666,11 @@ public class HideoutController(
continue;
}
if (production.Value.GetType() == typeof(HideoutProduction))
// Production or ScavCase
if (production.Value.RecipeId == request.RecipeId)
{
// Production or ScavCase
if (production.Value.RecipeId == request.RecipeId)
{
prodId = production.Key; // Set to objects key
break;
}
prodId = production.Key; // Set to objects key
break;
}
}
@@ -899,8 +896,7 @@ public class HideoutController(
private TaskConditionCounter GetHoursCraftingTaskConditionCounter(PmcData pmcData, HideoutProduction recipe)
{
var counterHoursCrafting = pmcData.TaskConditionCounters[HideoutController.NameTaskConditionCountersCraftingId];
if (counterHoursCrafting is null)
if (!pmcData.TaskConditionCounters.TryGetValue(HideoutController.NameTaskConditionCountersCraftingId, out var _))
{
// Doesn't exist, create
pmcData.TaskConditionCounters[HideoutController.NameTaskConditionCountersCraftingId] = new TaskConditionCounter
@@ -910,10 +906,9 @@ public class HideoutController(
SourceId = "CounterCrafting",
Value = 0,
};
counterHoursCrafting = pmcData.TaskConditionCounters[HideoutController.NameTaskConditionCountersCraftingId];
}
return counterHoursCrafting;
return pmcData.TaskConditionCounters[HideoutController.NameTaskConditionCountersCraftingId];
}
private void HandleScavCase(string sessionID, PmcData pmcData, HideoutTakeProductionRequestData request, ItemEventRouterResponse output)
+3 -3
View File
@@ -184,7 +184,7 @@ public class EventOutputHolder
}
// Ensure we don't inform client of production again
if (storageForSessionId[production.Key])
if (storageForSessionId.ContainsKey(production.Key))
{
productions.Remove(production.Key);
@@ -192,9 +192,9 @@ public class EventOutputHolder
}
// Flag started craft as having been seen by client so it won't happen subsequent times
if (production.Value.Progress > 0 && !storageForSessionId[production.Key])
if (production.Value.Progress > 0 && !storageForSessionId.ContainsKey(production.Key))
{
storageForSessionId[production.Key] = true;
storageForSessionId.TryAdd(production.Key, true);
}
}
@@ -73,9 +73,6 @@ public class BaseInteractionRequestDataConverter : JsonConverter<BaseInteraction
return JsonSerializer.Deserialize<HideoutCustomizationSetMannequinPoseRequest>(jsonText);
case "Insure":
return JsonSerializer.Deserialize<InsureRequestData>(jsonText);
/////////////////////////////////////////// InventoryBaseActionRequestData
case "AddToWishList":
return JsonSerializer.Deserialize<AddToWishlistRequest>(jsonText);
case "RemoveFromWishList":