From 5bdf4217d6b24ede4c6c86a5057843451d2964ae Mon Sep 17 00:00:00 2001 From: Jon Kazama Date: Tue, 16 Jun 2026 13:10:22 +0200 Subject: [PATCH] D1-3 (XC-8): route PayloadHandler Send-Tell through shared BuildTellCommand (IsPublic at call-site) --- HellionChat/PayloadHandler.cs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/HellionChat/PayloadHandler.cs b/HellionChat/PayloadHandler.cs index 46be55b..82143d8 100644 --- a/HellionChat/PayloadHandler.cs +++ b/HellionChat/PayloadHandler.cs @@ -263,13 +263,15 @@ internal sealed class PayloadHandler // Eureka, Bozja and Occult need special handling as tells work different if (!Sheets.IsInForay()) { - // §6.9: single SetPendingMessage call; v1.5.6 used incremental Chat += writes - var builder = $"/tell {player.PlayerName}"; - if (world.Value.IsPublic) - builder += $"@{world.Value.Name}"; - - builder += " "; - _inputBar.SetPendingMessage(builder); + // §6.9: single SetPendingMessage call; v1.5.6 used incremental Chat += writes. + // XC-8: shares the /tell builder with the native detours. IsPublic (not + // IsNullOrEmpty) is resolved HERE — a private/null world must NOT leak @World. + _inputBar.SetPendingMessage( + GameFunctions.Chat.BuildTellCommand( + player.PlayerName, + world.Value.IsPublic ? world.Value.Name.ToString() : null + ) + ); } else if (validContentId) {