diff --git a/src/AcDream.Core/Items/ItemRepository.cs b/src/AcDream.Core/Items/ItemRepository.cs
index 6ffcc85c..5543c958 100644
--- a/src/AcDream.Core/Items/ItemRepository.cs
+++ b/src/AcDream.Core/Items/ItemRepository.cs
@@ -61,6 +61,11 @@ public sealed class ItemRepository
/// Fires when an item's properties are updated (typically after Appraise).
public event Action? ItemPropertiesUpdated;
+ /// PropertyInt.UiEffects (ACE enum value 18) — the icon effect bitfield;
+ /// the typed mirror maintains on
+ /// .
+ public const uint UiEffectsPropertyId = 18u;
+
public int ItemCount => _items.Count;
public int ContainerCount => _containers.Count;
@@ -187,9 +192,6 @@ public sealed class ItemRepository
return true;
}
- /// PropertyInt.UiEffects (ACE enum value 18) — the icon effect bitfield.
- public const uint UiEffectsPropertyId = 18u;
-
///
/// Apply a single PropertyInt update (from PublicUpdatePropertyInt 0x02CE) to an
/// item: store it in the bundle and, for known typed ints, mirror to the typed
diff --git a/tests/AcDream.Core.Tests/Items/ItemRepositoryTests.cs b/tests/AcDream.Core.Tests/Items/ItemRepositoryTests.cs
index 5b39b932..0ee2631d 100644
--- a/tests/AcDream.Core.Tests/Items/ItemRepositoryTests.cs
+++ b/tests/AcDream.Core.Tests/Items/ItemRepositoryTests.cs
@@ -158,10 +158,10 @@ public sealed class ItemRepositoryTests
repo.AddOrUpdate(new ItemInstance { ObjectId = 0x500000ABu });
ItemInstance? fired = null;
repo.ItemPropertiesUpdated += i => fired = i;
- bool ok = repo.UpdateIntProperty(0x500000ABu, 18u, value: 0x9); // 18 = UiEffects
+ bool ok = repo.UpdateIntProperty(0x500000ABu, ItemRepository.UiEffectsPropertyId, value: 0x9);
Assert.True(ok);
Assert.Equal(0x9u, repo.GetItem(0x500000ABu)!.Effects);
- Assert.Equal(0x9, repo.GetItem(0x500000ABu)!.Properties.Ints[18u]);
+ Assert.Equal(0x9, repo.GetItem(0x500000ABu)!.Properties.Ints[ItemRepository.UiEffectsPropertyId]);
Assert.NotNull(fired);
}