Merge pull request #613 from DrakiaXYZ/fix-hideoutexamine

Fix examining item in hideout upgrade panel exception
This commit is contained in:
Chomp
2025-10-12 07:53:27 +00:00
committed by GitHub
3 changed files with 11 additions and 8 deletions
@@ -509,7 +509,7 @@ public class InventoryController(
return presetHelper.GetBaseItemTpl(request.ItemId);
}
if (request.FromOwner.Id == Traders.FENCE)
if (Traders.FENCE.Equals(request.FromOwner.Id))
// Get tpl from fence assorts
{
return fenceService.GetRawFenceAssorts().Items.FirstOrDefault(x => x.Id == request.ItemId)?.Template;
@@ -519,10 +519,7 @@ public class InventoryController(
// Not fence
// get tpl from trader assort
{
return databaseService
.GetTrader(request.FromOwner.Id.Value)
.Assort.Items.FirstOrDefault(item => item.Id == request.ItemId)
?.Template;
return databaseService.GetTrader(request.FromOwner.Id).Assort.Items.FirstOrDefault(item => item.Id == request.ItemId)?.Template;
}
if (request.FromOwner.Type == "RagFair")
@@ -536,7 +533,7 @@ public class InventoryController(
// Try alternate way of getting offer if first approach fails
var offer =
ragfairOfferService.GetOfferByOfferId(request.ItemId) ?? ragfairOfferService.GetOfferByOfferId(request.FromOwner.Id.Value);
ragfairOfferService.GetOfferByOfferId(request.ItemId) ?? ragfairOfferService.GetOfferByOfferId(request.FromOwner.Id);
// Try find examine item inside offer items array
var matchingItem = offer.Items.FirstOrDefault(offerItem => offerItem.Id == request.ItemId);
@@ -555,6 +552,12 @@ public class InventoryController(
return request.ItemId;
}
// Hideout upgrade
if (request.FromOwner.Type == "HideoutUpgrade")
{
return request.ItemId;
}
if (request.FromOwner.Type == "Mail")
{
// when inspecting an item in mail rewards, we are given on the message its in and its mongoId, not the Template, so we have to go find it ourselves