Fix some issues with self-named items.

This commit is contained in:
Ottermandias 2024-04-04 18:17:35 +02:00
parent c573feefec
commit 12fa14e1c6
3 changed files with 14 additions and 13 deletions

View file

@ -105,14 +105,11 @@ public sealed class ItemCombo : FilterComboCache<EquipItem>
};
}
private static IReadOnlyList<EquipItem> GetItems(FavoriteManager favorites, ItemManager items, EquipSlot slot)
private static List<EquipItem> GetItems(FavoriteManager favorites, ItemManager items, EquipSlot slot)
{
var nothing = ItemManager.NothingItem(slot);
if (!items.ItemData.ByType.TryGetValue(slot.ToEquipType(), out var list))
return new[]
{
nothing,
};
return [nothing];
var enumerable = list.AsEnumerable();
if (slot.IsEquipment())

View file

@ -66,12 +66,17 @@ public class ItemManager
return SmallClothesItem(slot);
if (!itemId.IsItem || !ItemData.TryGetValue(itemId.Item, slot, out var item))
return EquipItem.FromId(itemId);
{
item = EquipItem.FromId(itemId);
item = slot is EquipSlot.MainHand or EquipSlot.OffHand
? Identify(slot, item.PrimaryId, item.SecondaryId, item.Variant)
: Identify(slot, item.PrimaryId, item.Variant);
return item;
}
if (item.Type.ToSlot() != slot)
return new EquipItem(string.Intern($"Invalid #{itemId}"), itemId, item.IconId, item.PrimaryId, item.SecondaryId, item.Variant, 0, 0,
0,
0);
return new EquipItem(string.Intern($"Invalid #{itemId}"), itemId, item.IconId, item.PrimaryId, item.SecondaryId, item.Variant,
0, 0, 0, 0);
return item;
}
@ -86,9 +91,8 @@ public class ItemManager
return EquipItem.FromId(itemId);
if (item.Type != type)
return new EquipItem(string.Intern($"Invalid #{itemId}"), itemId, item.IconId, item.PrimaryId, item.SecondaryId, item.Variant, 0, 0,
0,
0);
return new EquipItem(string.Intern($"Invalid #{itemId}"), itemId, item.IconId, item.PrimaryId, item.SecondaryId, item.Variant,
0, 0, 0, 0);
return item;
}

@ -1 +1 @@
Subproject commit 04237f8e80e2277ea99701bd240a09fcffe4db97
Subproject commit e48a82471dc1bc7d6a2c39daa71a9d3c9a55ad03