feat(items): port retail shared cooldown overlays
Preserve public shared-cooldown metadata, resolve the authoritative cooldown enchantment with retail expiry semantics, and project the exact ten DAT-authored radial steps through the shared retained item-slot architecture. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
19e8863f4e
commit
6b1ae4fb76
27 changed files with 875 additions and 20 deletions
|
|
@ -92,4 +92,27 @@ public class ItemListCellTemplateTests
|
|||
// m_elem_Icon ItemSlot_Empty state is the brown/gold 0x06001A97 surface.
|
||||
Assert.Equal(0x06001A97u, sprite);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Shared_UIItem_resolves_all_ten_cooldown_overlays()
|
||||
{
|
||||
var datDir = DatDir();
|
||||
if (datDir is null) return;
|
||||
|
||||
using var dats = new DatCollection(datDir, DatAccessType.Read);
|
||||
ItemCooldownAssets? assets = ItemCooldownAssets.TryLoad(dats);
|
||||
|
||||
Assert.NotNull(assets);
|
||||
Assert.Equal(ItemCooldownAssets.OverlayCount, assets.Value.Sprites.Count);
|
||||
Assert.Equal(
|
||||
new uint[]
|
||||
{
|
||||
0x060067CFu, 0x060067D0u, 0x060067D1u, 0x060067D2u, 0x060067D3u,
|
||||
0x060067D4u, 0x060067D5u, 0x060067D6u, 0x060067D7u, 0x060067D8u,
|
||||
},
|
||||
assets.Value.Sprites);
|
||||
_out.WriteLine(
|
||||
string.Join(", ", assets.Value.Sprites.Select(id => $"0x{id:X8}")));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue