diff --git a/Libraries/SPTarkov.Server.Core/Helpers/InventoryHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/InventoryHelper.cs
index d4afb681..33ca7b2c 100644
--- a/Libraries/SPTarkov.Server.Core/Helpers/InventoryHelper.cs
+++ b/Libraries/SPTarkov.Server.Core/Helpers/InventoryHelper.cs
@@ -398,7 +398,7 @@ public class InventoryHelper(
return;
}
- // Store details for object, incuding container item will be placed in
+ // Store details for object, including container item will be placed in
itemWithChildren[0].ParentId = playerInventory.SortingTable;
itemWithChildren[0].Location = new ItemLocation
{
@@ -507,39 +507,41 @@ public class InventoryHelper(
{
var fullProfile = profileHelper.GetFullProfile(sessionId);
- // Iterate over all dialogs and look for mesasage with key from request, that has item (and maybe its children) we want to remove
+ // Iterate over all dialogs and look for message with key from request, that has item (and maybe its children) we want to remove
var dialogs = fullProfile.DialogueRecords;
foreach (var (_, dialog) in dialogs)
{
var messageWithReward = dialog.Messages.FirstOrDefault(message => message.Id == removeRequest.FromOwner.Id);
- if (messageWithReward is not null)
+ if (messageWithReward is null)
{
- // Find item + any possible children and remove them from mails items array
- var itemWithChildren = messageWithReward.Items.Data.GetItemWithChildren(removeRequest.Item);
- foreach (var itemToDelete in itemWithChildren)
+ continue;
+ }
+
+ // Find item + any possible children and remove them from mails items array
+ var itemWithChildren = messageWithReward.Items.Data.GetItemWithChildren(removeRequest.Item);
+ foreach (var itemToDelete in itemWithChildren)
+ {
+ // Get index of item to remove from reward array + remove it
+ var indexOfItemToRemove = messageWithReward.Items.Data.IndexOf(itemToDelete);
+ if (indexOfItemToRemove == -1)
{
- // Get index of item to remove from reward array + remove it
- var indexOfItemToRemove = messageWithReward.Items.Data.IndexOf(itemToDelete);
- if (indexOfItemToRemove == -1)
- {
- logger.Error(
- serverLocalisationService.GetText(
- "inventory-unable_to_remove_item_restart_immediately",
- new { item = removeRequest.Item, mailId = removeRequest.FromOwner.Id }
- )
- );
+ logger.Error(
+ serverLocalisationService.GetText(
+ "inventory-unable_to_remove_item_restart_immediately",
+ new { item = removeRequest.Item, mailId = removeRequest.FromOwner.Id }
+ )
+ );
- continue;
- }
-
- messageWithReward.Items.Data.RemoveAt(indexOfItemToRemove);
+ continue;
}
- // Flag message as having no rewards if all removed
- var hasRewardItemsRemaining = messageWithReward?.Items.Data?.Count > 0;
- messageWithReward.HasRewards = hasRewardItemsRemaining;
- messageWithReward.RewardCollected = !hasRewardItemsRemaining;
+ messageWithReward.Items.Data.RemoveAt(indexOfItemToRemove);
}
+
+ // Flag message as having no rewards if all removed
+ var hasRewardItemsRemaining = messageWithReward?.Items.Data?.Count > 0;
+ messageWithReward.HasRewards = hasRewardItemsRemaining;
+ messageWithReward.RewardCollected = !hasRewardItemsRemaining;
}
}
@@ -557,7 +559,7 @@ public class InventoryHelper(
MongoId itemId,
int countToRemove,
MongoId sessionId,
- ItemEventRouterResponse? output
+ ItemEventRouterResponse output
)
{
if (itemId.IsEmpty())
@@ -582,10 +584,7 @@ public class InventoryHelper(
{
itemToReduce.Upd.StackObjectsCount -= remainingCount;
remainingCount = 0;
- if (output is not null)
- {
- output.ProfileChanges[sessionId].Items.ChangedItems.Add(itemToReduce);
- }
+ output.ProfileChanges[sessionId].Items.ChangedItems.Add(itemToReduce);
}
if (remainingCount == 0)
@@ -595,7 +594,7 @@ public class InventoryHelper(
}
}
- return output ?? eventOutputHolder.GetOutput(sessionId);
+ return output;
}
///
@@ -944,7 +943,7 @@ public class InventoryHelper(
}
// Look up details of stash in db
- var (isValidItem, stashItemDbItem) = itemHelper.GetItem(stashTpl);
+ var (isValidItem, stashItemDbItem) = itemHelper.GetItem(stashTpl.Value);
if (!isValidItem)
{
logger.Error(serverLocalisationService.GetText("inventory-stash_not_found", stashTpl));
@@ -974,7 +973,7 @@ public class InventoryHelper(
///
/// Profile to get tpl
/// Stash tpl
- protected string? GetProfileStashTpl(PmcData profile)
+ protected MongoId? GetProfileStashTpl(PmcData profile)
{
var stashObj = profile.Inventory.Items.FirstOrDefault(item => item.Id == profile.Inventory.Stash);
if (stashObj is null)
diff --git a/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs
index a0e88ab8..4ddb594e 100644
--- a/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs
+++ b/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs
@@ -1242,25 +1242,26 @@ public class ItemHelper(
var forcedLeft = 0;
var forcedRight = 0;
- var children = items.GetItemWithChildren(rootItemId);
- foreach (var child in children)
+ var itemWithChildren = items.GetItemWithChildren(rootItemId);
+ foreach (var item in itemWithChildren)
{
- var itemTemplate = GetItem(child.Template).Value;
+ var itemDbTemplate = GetItem(item.Template).Value;
// Calculating child ExtraSize
- if (itemTemplate.Properties.ExtraSizeForceAdd ?? false)
+ if (itemDbTemplate.Properties.ExtraSizeForceAdd ?? false)
{
- forcedUp += itemTemplate.Properties.ExtraSizeUp.Value;
- forcedDown += itemTemplate.Properties.ExtraSizeDown.Value;
- forcedLeft += itemTemplate.Properties.ExtraSizeLeft.Value;
- forcedRight += itemTemplate.Properties.ExtraSizeRight.Value;
+ forcedUp += itemDbTemplate.Properties.ExtraSizeUp.Value;
+ forcedDown += itemDbTemplate.Properties.ExtraSizeDown.Value;
+ forcedLeft += itemDbTemplate.Properties.ExtraSizeLeft.Value;
+ forcedRight += itemDbTemplate.Properties.ExtraSizeRight.Value;
}
else
{
- sizeUp = sizeUp < itemTemplate.Properties.ExtraSizeUp ? itemTemplate.Properties.ExtraSizeUp.Value : sizeUp;
- sizeDown = sizeDown < itemTemplate.Properties.ExtraSizeDown ? itemTemplate.Properties.ExtraSizeDown.Value : sizeDown;
- sizeLeft = sizeLeft < itemTemplate.Properties.ExtraSizeLeft ? itemTemplate.Properties.ExtraSizeLeft.Value : sizeLeft;
- sizeRight = sizeRight < itemTemplate.Properties.ExtraSizeRight ? itemTemplate.Properties.ExtraSizeRight.Value : sizeRight;
+ sizeUp = sizeUp < itemDbTemplate.Properties.ExtraSizeUp ? itemDbTemplate.Properties.ExtraSizeUp.Value : sizeUp;
+ sizeDown = sizeDown < itemDbTemplate.Properties.ExtraSizeDown ? itemDbTemplate.Properties.ExtraSizeDown.Value : sizeDown;
+ sizeLeft = sizeLeft < itemDbTemplate.Properties.ExtraSizeLeft ? itemDbTemplate.Properties.ExtraSizeLeft.Value : sizeLeft;
+ sizeRight =
+ sizeRight < itemDbTemplate.Properties.ExtraSizeRight ? itemDbTemplate.Properties.ExtraSizeRight.Value : sizeRight;
}
}