diff --git a/Assets/Scripts/ServerShared/ItemManager.cs b/Assets/Scripts/ServerShared/ItemManager.cs index d47c6aaf8..d9c42d02a 100644 --- a/Assets/Scripts/ServerShared/ItemManager.cs +++ b/Assets/Scripts/ServerShared/ItemManager.cs @@ -216,7 +216,7 @@ public class ItemManager }; if (!maker.IsSet()) return (null, null); - var product = lot.Product.IsSet() ? ItemData.Get(lot.Product) : null; + var product = ItemData.Get(lot.Product); return (ItemData.Get(maker), product); } diff --git a/tests/Aetheria.Shared.Tests/ItemTitleTests.cs b/tests/Aetheria.Shared.Tests/ItemTitleTests.cs index d6c57ae2d..b54a90b0a 100644 --- a/tests/Aetheria.Shared.Tests/ItemTitleTests.cs +++ b/tests/Aetheria.Shared.Tests/ItemTitleTests.cs @@ -92,6 +92,18 @@ public sealed class ItemTitleTests : IDisposable Assert.Equal("Array", _items.Title(unit)); } + [Fact] + public void A_lot_whose_product_left_the_catalog_brands_its_maker_only() + { + var lot = _items.CreateLot(_panopticon); + _items.Lots[lot].Product = new CultRecordRef(new CultRecordKey("removed-product")); + var unit = (CraftedItemInstance) _items.CreateInstance(lot); + var (maker, product) = _items.Brand(unit); + Assert.Equal("Finch", maker.Name); + Assert.Null(product); + Assert.Equal("Array", _items.Title(unit)); + } + [Fact] public void Unbranded_units_are_titled_by_design() {