Restore permanent-REPLY game-side tell pre-targeting (1.5.6 parity)

This commit is contained in:
2026-06-16 19:03:34 +02:00
parent 6733c7f92e
commit 458df3b4bd
+12 -1
View File
@@ -629,7 +629,18 @@ internal unsafe class KeybindManager : IDisposable
if (info.Permanent)
{
Plugin.Instance.Functions.Chat.SetChannel(targetChannel.Value);
// KB-01 (1.5.6 parity, ChatLogWindow.SetChannel 1d3b429:1476-1479):
// committing the game channel also pre-targets the game's native input.
// Forward the tab's reply target for Tell so the partner is armed
// game-side (ChangeChatChannel code 17); null for a linkshell —
// targetChannel is the FINAL resolved value (9..16/19..26 for LS, never
// 0=Tell), so a stale TempTellTarget can never flip an LS cycle to Tell.
var gameTarget =
targetChannel.Value == InputChannel.Tell
? rotTab.CurrentChannel.TempTellTarget
?? rotTab.CurrentChannel.TellTarget
: null;
Plugin.Instance.Functions.Chat.SetChannel(targetChannel.Value, gameTarget);
rotTab.CurrentChannel.SetChannel(targetChannel.Value);
}
else