Created overload of IsValidItem
This commit is contained in:
@@ -286,16 +286,29 @@ public class ItemHelper(
|
||||
var baseTypes = invalidBaseTypes ?? _defaultInvalidBaseTypes;
|
||||
var itemDetails = GetItem(tpl);
|
||||
|
||||
if (!itemDetails.Key)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return itemDetails.Key && IsValidItem(itemDetails.Value, baseTypes);
|
||||
}
|
||||
|
||||
return !(itemDetails.Value.Properties.QuestItem ?? false)
|
||||
&& string.Equals(itemDetails.Value.Type, "Item", StringComparison.OrdinalIgnoreCase)
|
||||
&& GetItemPrice(tpl) > 0
|
||||
&& !itemFilterService.IsItemBlacklisted(tpl)
|
||||
&& baseTypes.All(x => !IsOfBaseclass(tpl, x));
|
||||
/// <summary>
|
||||
/// Checks if a tpl is a valid item. Valid meaning that it's an item that can be stored in stash
|
||||
/// Valid means:
|
||||
/// Not quest item
|
||||
/// 'Item' type
|
||||
/// Not on the invalid base types array
|
||||
/// Price above 0 roubles
|
||||
/// </summary>
|
||||
/// <param name="item">Item from DB to check</param>
|
||||
/// <param name="invalidBaseTypes">OPTIONAL - Base types deemed invalid</param>
|
||||
/// <returns>true for items that may be in player possession and not quest items</returns>
|
||||
public bool IsValidItem(TemplateItem item, ISet<MongoId>? invalidBaseTypes = null)
|
||||
{
|
||||
var baseTypes = invalidBaseTypes ?? _defaultInvalidBaseTypes;
|
||||
|
||||
return !(item.Properties.QuestItem ?? false)
|
||||
&& string.Equals(item.Type, "Item", StringComparison.OrdinalIgnoreCase)
|
||||
&& GetItemPrice(item.Id) > 0
|
||||
&& !itemFilterService.IsItemBlacklisted(item.Id)
|
||||
&& baseTypes.All(x => !IsOfBaseclass(item.Id, x));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user