fix: add more validation to item dumper
This commit is contained in:
@@ -190,14 +190,18 @@ class Dumper
|
||||
|
||||
string itemId = row.Key.Text;
|
||||
|
||||
if (!TryGetProp(props, "Type", out EInventoryItemType itemType) || !TryGetProp(props, "UIData", out FStructFallback uiDataFb))
|
||||
throw new KeyNotFoundException("Type or UIData was not found.");
|
||||
if (!TryGetProp(props, "Type", out EInventoryItemType itemType)
|
||||
|| !TryGetProp(props, "UIData", out FStructFallback uiDataFb)
|
||||
|| !TryGetProp(props, "Role", out EPlayerRole role)
|
||||
|| !TryGetProp(props, "Inventory", out bool isInventory))
|
||||
throw new KeyNotFoundException("Type, UIData or Role was not found.");
|
||||
|
||||
UIDataStruct uiData = uiDataFb.MapToStruct<UIDataStruct>();
|
||||
|
||||
if (itemType != EInventoryItemType.Item)
|
||||
// ignore powers, slasher and challenge related items
|
||||
if (!isInventory || itemType != EInventoryItemType.Item || role != EPlayerRole.VE_Camper)
|
||||
{
|
||||
_log.Verbose("Ignoring invalid item type ({0})", itemType.ToString());
|
||||
_log.Verbose("Ignoring invalid item ({0})", itemId);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user