fix(client): restore retail interaction parity
Harden keyboard and camera routing, inventory and vendor interactions, chat/emotes, relog portal flow, and paperdoll rendering. Add retail research, connected gate coverage, and release-gate validation.
This commit is contained in:
parent
0c699240e0
commit
f6fe0f2a4f
151 changed files with 10162 additions and 1211 deletions
|
|
@ -17,6 +17,22 @@ public sealed class ChatCommandTargetStateTests
|
|||
Assert.Equal("Caith", targets.LastOutgoingTellTarget);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TracksIndependentMonarchAndPatronReplyTargetsFromLegacyBroadcasts()
|
||||
{
|
||||
var chat = new ChatLog();
|
||||
using var targets = new ChatCommandTargetState(chat);
|
||||
|
||||
// 0x0147 does not carry a sender GUID; the incoming sender name is
|
||||
// nevertheless authoritative for retail's monarch/patron reply keys.
|
||||
chat.OnChannelBroadcast(0x4000u, "Monarch", "orders");
|
||||
chat.OnChannelBroadcast(0x2000u, "Patron", "hello");
|
||||
chat.OnChannelBroadcast(0x4000u, "New Monarch", "new orders");
|
||||
|
||||
Assert.Equal("New Monarch", targets.LastMonarchSender);
|
||||
Assert.Equal("Patron", targets.LastPatronSender);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ResetSessionForgetsTargetsButPreservesTranscript()
|
||||
{
|
||||
|
|
@ -29,6 +45,8 @@ public sealed class ChatCommandTargetStateTests
|
|||
|
||||
Assert.Null(targets.LastIncomingTellSender);
|
||||
Assert.Null(targets.LastOutgoingTellTarget);
|
||||
Assert.Null(targets.LastMonarchSender);
|
||||
Assert.Null(targets.LastPatronSender);
|
||||
Assert.Equal(2, chat.Count);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue