feat(ui): port retail selected-item mana

Parse and route the complete 0x0264 guid/fraction/valid response, send exact 0x0263 item-mana queries, and reproduce retail meter visibility plus guid-zero cancellation for mana and health selection changes. Keep the behavior in Core state and the retained selected-object controller with wire/state/UI conformance coverage.

Co-Authored-By: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-11 11:16:21 +02:00
parent df460f94c3
commit fa1da02783
21 changed files with 402 additions and 38 deletions

View file

@ -141,6 +141,19 @@ public sealed class WorldSessionCombatTests
Assert.Equal(SocialActions.BuildQueryHealth(1, 0x50000007u), captured);
}
[Fact]
public void SendQueryItemMana_UsesRetailQueryItemManaBuilder()
{
using var session = NewSession();
byte[]? captured = null;
session.GameActionCapture = body => captured = body;
session.SendQueryItemMana(0x50000A01u);
Assert.NotNull(captured);
Assert.Equal(SocialActions.BuildQueryItemMana(1, 0x50000A01u), captured);
}
[Fact]
public void SendUseWithTarget_UsesRetailBuilder()
{