From b965da2400114aae2c6d9ff54306fb25c4f39d60 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 13 Apr 2021 19:17:32 -0400 Subject: [PATCH] hiscore: use correct endpoint when looking up chat messages Co-authored-by: Hydrox6 --- .../client/plugins/hiscore/HiscorePlugin.java | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java index 1f40dc3d45..a310a15aaf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java @@ -190,6 +190,7 @@ public class HiscorePlugin extends Plugin && event.getMenuOption().equals(LOOKUP)) { final String target; + HiscoreEndpoint endpoint = HiscoreEndpoint.NORMAL; if (event.getMenuAction() == MenuAction.RUNELITE_PLAYER) { // The player id is included in the event, so we can use that to get the player name, @@ -204,10 +205,13 @@ public class HiscorePlugin extends Plugin } else { + // Determine proper endpoint from player name. + // TODO: look at target's world and determine if tournament/dmm endpoint should be used instead. + endpoint = findHiscoreEndpointFromPlayerName(event.getMenuTarget()); target = Text.removeTags(event.getMenuTarget()); } - lookupPlayer(target, HiscoreEndpoint.NORMAL); + lookupPlayer(target, endpoint); } } @@ -297,4 +301,25 @@ public class HiscorePlugin extends Plugin } return HiscoreEndpoint.NORMAL; } + + private HiscoreEndpoint findHiscoreEndpointFromPlayerName(String name) + { + if (name.contains(IconID.IRONMAN.toString())) + { + return HiscoreEndpoint.IRONMAN; + } + if (name.contains(IconID.ULTIMATE_IRONMAN.toString())) + { + return HiscoreEndpoint.ULTIMATE_IRONMAN; + } + if (name.contains(IconID.HARDCORE_IRONMAN.toString())) + { + return HiscoreEndpoint.HARDCORE_IRONMAN; + } + if (name.contains(IconID.LEAGUE.toString())) + { + return HiscoreEndpoint.LEAGUE; + } + return HiscoreEndpoint.NORMAL; + } }