diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java index ff668a1472..efa8f65195 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java @@ -65,6 +65,10 @@ import net.runelite.client.plugins.raids.solver.RotationSolver; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.util.Text; +import net.runelite.client.ws.PartyMember; +import net.runelite.client.ws.PartyService; +import net.runelite.client.ws.WSClient; +import net.runelite.http.api.ws.messages.party.PartyChatMessage; @PluginDescriptor( name = "Chambers Of Xeric", @@ -110,6 +114,12 @@ public class RaidsPlugin extends Plugin @Inject private ClientThread clientThread; + @Inject + private PartyService party; + + @Inject + private WSClient ws; + @Getter private final ArrayList roomWhitelist = new ArrayList<>(); @@ -305,15 +315,28 @@ public class RaidsPlugin extends Plugin final String rooms = getRaid().toRoomString(); final String raidData = "[" + layout + "]: " + rooms; - chatMessageManager.queue(QueuedMessage.builder() - .type(ChatMessageType.FRIENDSCHATNOTIFICATION) - .runeLiteFormattedMessage(new ChatMessageBuilder() - .append(ChatColorType.HIGHLIGHT) - .append("Layout: ") - .append(ChatColorType.NORMAL) - .append(raidData) - .build()) - .build()); + final String layoutMessage = new ChatMessageBuilder() + .append(ChatColorType.HIGHLIGHT) + .append("Layout: ") + .append(ChatColorType.NORMAL) + .append(raidData) + .build(); + + final PartyMember localMember = party.getLocalMember(); + + if (party.getMembers().isEmpty() || localMember == null) + { + chatMessageManager.queue(QueuedMessage.builder() + .type(ChatMessageType.FRIENDSCHATNOTIFICATION) + .runeLiteFormattedMessage(layoutMessage) + .build()); + } + else + { + final PartyChatMessage message = new PartyChatMessage(layoutMessage); + message.setMemberId(localMember.getMemberId()); + ws.send(message); + } } private void updateInfoBoxState()