From 39b8b84aaf8e9cbb646c565cc57168ed78597f06 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 19 Dec 2021 23:34:11 -0500 Subject: [PATCH] chat message manager: fix recoloring gim messages gim messages must always start with | and can't have a leading col tag --- .../net/runelite/client/chat/ChatMessageManager.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java b/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java index f673ea0e60..42bc06a17f 100644 --- a/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java +++ b/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java @@ -121,6 +121,7 @@ public class ChatMessageManager final MessageNode messageNode = client.getMessages().get(uid); assert messageNode != null : "chat message build for unknown message"; + String message = stringStack[size - 2]; final String username = stringStack[size - 3]; final String channel = stringStack[size - 4]; final ChatMessageType chatMessageType = messageNode.getType(); @@ -191,10 +192,17 @@ public class ChatMessageManager continue; } + String prefix = ""; + if (chatMessageType == ChatMessageType.CLAN_GIM_CHAT || chatMessageType == ChatMessageType.CLAN_GIM_MESSAGE) + { + message = message.substring(1); // remove | + prefix = "|"; + } + // Replace tags in the message with the new color so embedded won't reset the color final Color color = chatColor.getColor(); - stringStack[size - 2] = ColorUtil.wrapWithColorTag( - stringStack[size - 2].replace(ColorUtil.CLOSING_COLOR_TAG, ColorUtil.colorTag(color)), + stringStack[size - 2] = prefix + ColorUtil.wrapWithColorTag( + message.replace(ColorUtil.CLOSING_COLOR_TAG, ColorUtil.colorTag(color)), color); break; }