diff --git a/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreResult.java b/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreResult.java index bfc6d46b6e..86cb2db8c4 100644 --- a/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreResult.java +++ b/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreResult.java @@ -66,6 +66,7 @@ public class HiscoreResult private Skill clueScrollMaster; private Skill lastManStanding; private Skill soulWarsZeal; + private Skill riftsClosed; private Skill abyssalSire; private Skill alchemicalHydra; private Skill barrowsChests; @@ -191,6 +192,8 @@ public class HiscoreResult return lastManStanding; case SOUL_WARS_ZEAL: return soulWarsZeal; + case RIFTS_CLOSED: + return riftsClosed; case ABYSSAL_SIRE: return abyssalSire; case ALCHEMICAL_HYDRA: diff --git a/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreResultBuilder.java b/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreResultBuilder.java index e5a7ec20eb..0eb88c8f54 100644 --- a/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreResultBuilder.java +++ b/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreResultBuilder.java @@ -85,6 +85,10 @@ class HiscoreResultBuilder hiscoreResult.setClueScrollMaster(skills.get(index++)); hiscoreResult.setLastManStanding(skills.get(index++)); hiscoreResult.setSoulWarsZeal(skills.get(index++)); + if (skills.size() > 84) + { + hiscoreResult.setRiftsClosed(skills.get(index++)); + } // seasonal doesn't have boss hiscores if (index < skills.size()) { @@ -115,10 +119,7 @@ class HiscoreResultBuilder hiscoreResult.setKreearra(skills.get(index++)); hiscoreResult.setKrilTsutsaroth(skills.get(index++)); hiscoreResult.setMimic(skills.get(index++)); - if (skills.size() > 83) - { - hiscoreResult.setNex(skills.get(index++)); - } + hiscoreResult.setNex(skills.get(index++)); hiscoreResult.setNightmare(skills.get(index++)); hiscoreResult.setPhosanisNightmare(skills.get(index++)); hiscoreResult.setObor(skills.get(index++)); diff --git a/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreSkill.java b/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreSkill.java index 69b0f11b67..48e1f12abb 100644 --- a/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreSkill.java +++ b/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreSkill.java @@ -70,6 +70,7 @@ public enum HiscoreSkill CLUE_SCROLL_MASTER("Clue Scrolls (master)", ACTIVITY), LAST_MAN_STANDING("Last Man Standing", ACTIVITY), SOUL_WARS_ZEAL("Soul Wars Zeal", ACTIVITY), + RIFTS_CLOSED("Rifts closed", ACTIVITY), ABYSSAL_SIRE("Abyssal Sire", BOSS), ALCHEMICAL_HYDRA("Alchemical Hydra", BOSS), BARROWS_CHESTS("Barrows Chests", BOSS), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java index 8f529b7834..a9b3d36a27 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java @@ -280,6 +280,7 @@ public class HiscorePanel extends PluginPanel minigamePanel.add(makeHiscorePanel(LEAGUE_POINTS)); minigamePanel.add(makeHiscorePanel(LAST_MAN_STANDING)); minigamePanel.add(makeHiscorePanel(SOUL_WARS_ZEAL)); + minigamePanel.add(makeHiscorePanel(RIFTS_CLOSED)); minigamePanel.add(makeHiscorePanel(BOUNTY_HUNTER_ROGUE)); minigamePanel.add(makeHiscorePanel(BOUNTY_HUNTER_HUNTER)); @@ -605,6 +606,18 @@ public class HiscorePanel extends PluginPanel } break; } + case RIFTS_CLOSED: + { + Skill riftsClosed = result.getRiftsClosed(); + String rank = (riftsClosed.getRank() == -1) ? "Unranked" : QuantityFormatter.formatNumber(riftsClosed.getRank()); + content += "

Rifts closed

"; + content += "

Rank: " + rank + "

"; + if (riftsClosed.getLevel() > -1) + { + content += "

Rifts: " + QuantityFormatter.formatNumber(riftsClosed.getLevel()) + "

"; + } + break; + } case LEAGUE_POINTS: { Skill leaguePoints = result.getLeaguePoints(); diff --git a/runelite-client/src/main/resources/skill_icons_small/rifts_closed.png b/runelite-client/src/main/resources/skill_icons_small/rifts_closed.png new file mode 100644 index 0000000000..49a00cfe25 Binary files /dev/null and b/runelite-client/src/main/resources/skill_icons_small/rifts_closed.png differ diff --git a/runelite-client/src/test/java/net/runelite/client/hiscore/HiscoreClientTest.java b/runelite-client/src/test/java/net/runelite/client/hiscore/HiscoreClientTest.java index e0b079e6b8..fb26bc771e 100644 --- a/runelite-client/src/test/java/net/runelite/client/hiscore/HiscoreClientTest.java +++ b/runelite-client/src/test/java/net/runelite/client/hiscore/HiscoreClientTest.java @@ -71,6 +71,7 @@ public class HiscoreClientTest + "254,92\n" + "-1,-1\n" // lms + "1,241\n" // soul wars + + "1,2739\n" // gotr + "24870,37\n" + "15020,388\n" + "50463,147\n" @@ -148,6 +149,7 @@ public class HiscoreClientTest assertEquals(254, result.getClueScrollMaster().getRank()); assertEquals(-1, result.getLastManStanding().getLevel()); assertEquals(241, result.getSoulWarsZeal().getLevel()); + assertEquals(2739, result.getRiftsClosed().getLevel()); assertEquals(2460, result.getLeaguePoints().getLevel()); assertEquals(37, result.getAbyssalSire().getLevel()); assertEquals(92357, result.getCallisto().getRank());