From 3488f72ae2e3bdf686b81a52f7c43bca6a7690da Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Sat, 20 Apr 2019 13:45:27 +0200 Subject: [PATCH 01/14] Do not count local player in nearby clan member counter Signed-off-by: Tomas Slusny --- .../client/plugins/clanchat/ClanChatPlugin.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java index 506c9a58c0..3f46869425 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java @@ -168,11 +168,12 @@ public class ClanChatPlugin extends Plugin if (member.getWorld() == client.getWorld()) { + final Player local = client.getLocalPlayer(); final String memberName = Text.toJagexName(member.getUsername()); for (final Player player : client.getPlayers()) { - if (player != null && memberName.equals(Text.toJagexName(player.getName()))) + if (player != null && player != local && memberName.equals(Text.toJagexName(player.getName()))) { clanMembers.add(player); addClanCounter(); @@ -455,9 +456,12 @@ public class ClanChatPlugin extends Plugin @Subscribe public void onPlayerSpawned(PlayerSpawned event) { - if (event.getPlayer().isClanMember()) + final Player local = client.getLocalPlayer(); + final Player player = event.getPlayer(); + + if (player != local && player.isClanMember()) { - clanMembers.add(event.getPlayer()); + clanMembers.add(player); addClanCounter(); } } From 529fe181230b94de3afa80b1d15974b8a9d46006 Mon Sep 17 00:00:00 2001 From: trimbe Date: Sat, 20 Apr 2019 22:49:19 -0400 Subject: [PATCH 02/14] scripts: add quest list progress script --- .../main/scripts/QuestListShowProgress.hash | 1 + .../main/scripts/QuestListShowProgress.rs2asm | 196 ++++++++++++++++++ 2 files changed, 197 insertions(+) create mode 100644 runelite-client/src/main/scripts/QuestListShowProgress.hash create mode 100644 runelite-client/src/main/scripts/QuestListShowProgress.rs2asm diff --git a/runelite-client/src/main/scripts/QuestListShowProgress.hash b/runelite-client/src/main/scripts/QuestListShowProgress.hash new file mode 100644 index 0000000000..d3899f1431 --- /dev/null +++ b/runelite-client/src/main/scripts/QuestListShowProgress.hash @@ -0,0 +1 @@ +A6B3A7BFE7B688A08F69B91A7FD5C7184D71147D3DAF74B1262369D85DBB3A03 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm b/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm new file mode 100644 index 0000000000..0f19883b4f --- /dev/null +++ b/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm @@ -0,0 +1,196 @@ +.id 1354 +.int_stack_count 3 +.string_stack_count 0 +.int_var_count 7 +.string_var_count 0 + iconst 0 + istore 3 + iconst 0 + istore 4 + iconst 0 + istore 5 + invoke 1340 + istore 6 +LABEL8: + iload 5 + iload 6 + if_icmplt LABEL12 + jump LABEL56 +LABEL12: + iload 0 + iload 5 + cc_find + iconst 1 + if_icmpeq LABEL18 + jump LABEL51 +LABEL18: + iload 5 + invoke 1357 + istore 3 + iload 3 + iconst 2 + if_icmpeq LABEL25 + jump LABEL28 +LABEL25: + iconst 901389 + istore 4 + jump LABEL37 +LABEL28: + iload 3 + iconst 0 + if_icmpeq LABEL32 + jump LABEL35 +LABEL32: + iconst 16776960 + istore 4 + jump LABEL37 +LABEL35: + iconst 16711680 + istore 4 +LABEL37: + iload 4 + cc_setcolour + iconst 85 + iconst -2147483645 + iconst -2147483643 + iconst 16777215 + sconst "Iii" + cc_setonmouseover + iconst 85 + iconst -2147483645 + iconst -2147483643 + iload 4 + sconst "Iii" + cc_setonmouseleave +LABEL51: + iload 5 + iconst 1 + add + istore 5 + jump LABEL8 +LABEL56: + iconst 0 + invoke 2245 + istore 6 + istore 5 +LABEL60: + iload 5 + iload 6 + if_icmplt LABEL64 + jump LABEL108 +LABEL64: + iload 1 + iload 5 + cc_find + iconst 1 + if_icmpeq LABEL70 + jump LABEL103 +LABEL70: + iload 5 + invoke 1358 + istore 3 + iload 3 + iconst 2 + if_icmpeq LABEL77 + jump LABEL80 +LABEL77: + iconst 901389 + istore 4 + jump LABEL89 +LABEL80: + iload 3 + iconst 0 + if_icmpeq LABEL84 + jump LABEL87 +LABEL84: + iconst 16776960 + istore 4 + jump LABEL89 +LABEL87: + iconst 16711680 + istore 4 +LABEL89: + iload 4 + cc_setcolour + iconst 85 + iconst -2147483645 + iconst -2147483643 + iconst 16777215 + sconst "Iii" + cc_setonmouseover + iconst 85 + iconst -2147483645 + iconst -2147483643 + iload 4 + sconst "Iii" + cc_setonmouseleave +LABEL103: + iload 5 + iconst 1 + add + istore 5 + jump LABEL60 +LABEL108: + iconst 0 + invoke 2265 + istore 6 + istore 5 +LABEL112: + iload 5 + iload 6 + if_icmplt LABEL116 + jump LABEL160 +LABEL116: + iload 2 + iload 5 + cc_find + iconst 1 + if_icmpeq LABEL122 + jump LABEL155 +LABEL122: + iload 5 + invoke 1359 + istore 3 + iload 3 + iconst 2 + if_icmpeq LABEL129 + jump LABEL132 +LABEL129: + iconst 901389 + istore 4 + jump LABEL141 +LABEL132: + iload 3 + iconst 0 + if_icmpeq LABEL136 + jump LABEL139 +LABEL136: + iconst 16776960 + istore 4 + jump LABEL141 +LABEL139: + iconst 16711680 + istore 4 +LABEL141: + iload 4 + cc_setcolour + iconst 85 + iconst -2147483645 + iconst -2147483643 + iconst 16777215 + sconst "Iii" + cc_setonmouseover + iconst 85 + iconst -2147483645 + iconst -2147483643 + iload 4 + sconst "Iii" + cc_setonmouseleave +LABEL155: + iload 5 + iconst 1 + add + istore 5 + jump LABEL112 +LABEL160: + return From caa4569d45d1b6fa06f2d73f54d108d2ab8b81e5 Mon Sep 17 00:00:00 2001 From: trimbe Date: Sat, 20 Apr 2019 22:49:46 -0400 Subject: [PATCH 03/14] quest list plugin: use progress script to trigger hiding quests --- .../plugins/questlist/QuestListPlugin.java | 91 ++++++++++--------- .../main/scripts/QuestListShowProgress.rs2asm | 2 + 2 files changed, 49 insertions(+), 44 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/questlist/QuestListPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/questlist/QuestListPlugin.java index fdc05403df..2ebf2a4318 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/questlist/QuestListPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/questlist/QuestListPlugin.java @@ -36,12 +36,11 @@ import net.runelite.api.SpriteID; import net.runelite.api.VarClientInt; import net.runelite.api.Varbits; import net.runelite.api.events.GameStateChanged; +import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.VarClientIntChanged; import net.runelite.api.events.VarbitChanged; -import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.JavaScriptCallback; import net.runelite.api.widgets.Widget; -import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetPositionMode; import net.runelite.api.widgets.WidgetType; @@ -104,46 +103,45 @@ public class QuestListPlugin extends Plugin } @Subscribe - public void onWidgetLoaded(WidgetLoaded widgetLoaded) + public void onScriptCallbackEvent(ScriptCallbackEvent event) { - if (widgetLoaded.getGroupId() == WidgetID.QUESTLIST_GROUP_ID) + if (!event.getEventName().equals("questProgressUpdated")) { - Widget header = client.getWidget(WidgetInfo.QUESTLIST_BOX); - if (header != null) - { - questSearchButton = header.createChild(-1, WidgetType.GRAPHIC); - questSearchButton.setSpriteId(SpriteID.GE_SEARCH); - questSearchButton.setOriginalWidth(18); - questSearchButton.setOriginalHeight(17); - questSearchButton.setXPositionMode(WidgetPositionMode.ABSOLUTE_RIGHT); - questSearchButton.setOriginalX(5); - questSearchButton.setOriginalY(0); - questSearchButton.setHasListener(true); - questSearchButton.setAction(1, MENU_OPEN); - questSearchButton.setOnOpListener((JavaScriptCallback) e -> openSearch()); - questSearchButton.setName(MENU_SEARCH); - questSearchButton.revalidate(); + return; + } - questHideButton = header.createChild(-1, WidgetType.GRAPHIC); - redrawHideButton(); + Widget header = client.getWidget(WidgetInfo.QUESTLIST_BOX); + if (header != null) + { + questSearchButton = header.createChild(-1, WidgetType.GRAPHIC); + questSearchButton.setSpriteId(SpriteID.GE_SEARCH); + questSearchButton.setOriginalWidth(18); + questSearchButton.setOriginalHeight(17); + questSearchButton.setXPositionMode(WidgetPositionMode.ABSOLUTE_RIGHT); + questSearchButton.setOriginalX(5); + questSearchButton.setOriginalY(0); + questSearchButton.setHasListener(true); + questSearchButton.setAction(1, MENU_OPEN); + questSearchButton.setOnOpListener((JavaScriptCallback) e -> openSearch()); + questSearchButton.setName(MENU_SEARCH); + questSearchButton.revalidate(); - questHideButton.setOriginalWidth(13); - questHideButton.setOriginalHeight(13); - questHideButton.setXPositionMode(WidgetPositionMode.ABSOLUTE_RIGHT); - questHideButton.setOriginalX(24); - questHideButton.setOriginalY(2); - questHideButton.setHasListener(true); - questHideButton.setOnOpListener((JavaScriptCallback) e -> toggleHidden()); - questHideButton.setAction(1, MENU_TOGGLE); - questHideButton.revalidate(); + questHideButton = header.createChild(-1, WidgetType.GRAPHIC); + redrawHideButton(); - questSet = new EnumMap<>(QuestContainer.class); + questHideButton.setOriginalWidth(13); + questHideButton.setOriginalHeight(13); + questHideButton.setXPositionMode(WidgetPositionMode.ABSOLUTE_RIGHT); + questHideButton.setOriginalX(24); + questHideButton.setOriginalY(2); + questHideButton.setHasListener(true); + questHideButton.setOnOpListener((JavaScriptCallback) e -> toggleHidden()); + questHideButton.setAction(1, MENU_TOGGLE); + questHideButton.revalidate(); - if (!header.isHidden()) - { - updateFilter(); - } - } + questSet = new EnumMap<>(QuestContainer.class); + + updateFilter(); } } @@ -259,21 +257,26 @@ public class QuestListPlugin extends Plugin int y = miniList.getRelativeY() + miniList.getHeight() + 10; - int newHeight = 0; + int newHeight; if (container.getScrollHeight() > 0) { newHeight = (container.getScrollY() * y) / container.getScrollHeight(); } + else + { + newHeight = 0; + } container.setScrollHeight(y); container.revalidateScroll(); - client.runScript( - ScriptID.UPDATE_SCROLLBAR, - WidgetInfo.QUESTLIST_SCROLLBAR.getId(), - WidgetInfo.QUESTLIST_CONTAINER.getId(), - newHeight - ); + clientThread.invokeLater(() -> + client.runScript( + ScriptID.UPDATE_SCROLLBAR, + WidgetInfo.QUESTLIST_SCROLLBAR.getId(), + WidgetInfo.QUESTLIST_CONTAINER.getId(), + newHeight + )); } private void updateList(QuestContainer questContainer, String filter) @@ -309,7 +312,7 @@ public class QuestListPlugin extends Plugin // Find all of the widgets that we care about, sorting by their Y value quests = Arrays.stream(list.getDynamicChildren()) .sorted(Comparator.comparing(Widget::getRelativeY)) - .filter(w -> !w.isSelfHidden() && !QUEST_HEADERS.contains(w.getText())) + .filter(w -> !QUEST_HEADERS.contains(w.getText())) .map(w -> new QuestWidget(w, Text.removeTags(w.getText()).toLowerCase())) .collect(Collectors.toList()); questSet.put(questContainer, quests); diff --git a/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm b/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm index 0f19883b4f..f7f91cd83e 100644 --- a/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm +++ b/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm @@ -193,4 +193,6 @@ LABEL155: istore 5 jump LABEL112 LABEL160: + sconst "questProgressUpdated" + runelite_callback return From 9e8a6baa526835801d332f187a0af202e9ccea76 Mon Sep 17 00:00:00 2001 From: xDemoN Date: Sun, 21 Apr 2019 19:44:25 -0400 Subject: [PATCH 04/14] add lv32 wildy hot cold clue location --- .../plugins/cluescrolls/clues/hotcold/HotColdLocation.java | 1 + 1 file changed, 1 insertion(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java index bf9d40bac9..c145a7281c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java @@ -145,6 +145,7 @@ public enum HotColdLocation WILDERNESS_20(new WorldPoint(3225, 3676, 0), WILDERNESS, "East of the Corporeal Beast's lair, level 20 Wilderness."), WILDERNESS_27(new WorldPoint(3174, 3735, 0), WILDERNESS, "North-west of the Corporeal Beast cave, in the ruins at level 27 Wilderness."), WILDERNESS_28(new WorldPoint(3374, 3734, 0), WILDERNESS, "East of Venenatis' nest, level 28 Wilderness."), + WILDERNESS_32(new WorldPoint(3311, 3773, 0), WILDERNESS, "North of Venenatis' nest, level 32 Wilderness."), WILDERNESS_35(new WorldPoint(3153, 3795, 0), WILDERNESS, "East of the Wilderness canoe exit, level 35 Wilderness."), WILDERNESS_37(new WorldPoint(2975, 3811, 0), WILDERNESS, "South-east of the Chaos Temple, level 37 Wilderness."), WILDERNESS_38(new WorldPoint(3294, 3817, 0), WILDERNESS, "South of Callisto, level 38 Wilderness."), From 0413c06c3013875b1e8ca5186cf61b24a577c671 Mon Sep 17 00:00:00 2001 From: xDemoN Date: Sun, 21 Apr 2019 19:45:57 -0400 Subject: [PATCH 05/14] reword lv27 wildy hot cold clue location to match the description on osrs.wiki --- .../plugins/cluescrolls/clues/hotcold/HotColdLocation.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java index c145a7281c..b6c6fa2a43 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java @@ -143,7 +143,7 @@ public enum HotColdLocation WILDERNESS_5(new WorldPoint(3169, 3558, 0), WILDERNESS, "North of the Grand Exchange, level 5 Wilderness."), WILDERNESS_12(new WorldPoint(3038, 3612, 0), WILDERNESS, "South-east of the Dark Warriors' Fortress, level 12 Wilderness."), WILDERNESS_20(new WorldPoint(3225, 3676, 0), WILDERNESS, "East of the Corporeal Beast's lair, level 20 Wilderness."), - WILDERNESS_27(new WorldPoint(3174, 3735, 0), WILDERNESS, "North-west of the Corporeal Beast cave, in the ruins at level 27 Wilderness."), + WILDERNESS_27(new WorldPoint(3174, 3735, 0), WILDERNESS, "Inside the Ruins north of the Graveyard of Shadows, level 27 Wilderness."), WILDERNESS_28(new WorldPoint(3374, 3734, 0), WILDERNESS, "East of Venenatis' nest, level 28 Wilderness."), WILDERNESS_32(new WorldPoint(3311, 3773, 0), WILDERNESS, "North of Venenatis' nest, level 32 Wilderness."), WILDERNESS_35(new WorldPoint(3153, 3795, 0), WILDERNESS, "East of the Wilderness canoe exit, level 35 Wilderness."), From 1d8d21042121ac328e0541f6636862452b52adad Mon Sep 17 00:00:00 2001 From: JacobThompson Date: Mon, 22 Apr 2019 20:42:13 -0500 Subject: [PATCH 06/14] Update lap counter overlay strings for clarity. Removed slang "till'" from the lap counter overlay string and added colons to the end for cleanliness and aesthetic. --- .../runelite/client/plugins/agility/LapCounterOverlay.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/LapCounterOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/LapCounterOverlay.java index c3da7a62f2..b6da44d76a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/LapCounterOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/LapCounterOverlay.java @@ -81,14 +81,14 @@ class LapCounterOverlay extends Overlay panelComponent.getChildren().clear(); panelComponent.getChildren().add(LineComponent.builder() - .left("Total Laps") + .left("Total Laps:") .right(Integer.toString(session.getTotalLaps())) .build()); if (session.getLapsTillLevel() > 0) { panelComponent.getChildren().add(LineComponent.builder() - .left("Laps till level") + .left("Laps until level:") .right(Integer.toString(session.getLapsTillLevel())) .build()); } From 5bebd34bbf81da5143237fe6d524f7d532107ecd Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Tue, 23 Apr 2019 12:38:17 -0700 Subject: [PATCH 07/14] WorldType: Fix HIGH_RISK world type name This world type is not specifically a PVP world type; at the time of this commit, world 365 is a non-PVP high-risk world, where the world is the same as a regular members' world, except that the Protect Item prayer is disabled. --- .../main/java/net/runelite/http/api/worlds/WorldType.java | 2 +- .../net/runelite/http/service/worlds/ServiceWorldType.java | 2 +- runelite-api/src/main/java/net/runelite/api/WorldType.java | 6 +++--- .../net/runelite/client/plugins/discord/DiscordPlugin.java | 2 +- .../client/plugins/worldhopper/WorldHopperPlugin.java | 2 +- .../runelite/client/plugins/worldhopper/WorldTableRow.java | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java b/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java index 3bea0a4cbc..c94a7c70e6 100644 --- a/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java +++ b/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java @@ -30,7 +30,7 @@ public enum WorldType PVP, BOUNTY, SKILL_TOTAL, - PVP_HIGH_RISK, + HIGH_RISK, LAST_MAN_STANDING, TOURNAMENT, DEADMAN, diff --git a/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java b/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java index 1a3c1271f9..c6aa598321 100644 --- a/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java +++ b/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java @@ -32,7 +32,7 @@ enum ServiceWorldType PVP(WorldType.PVP, 1 << 2), BOUNTY(WorldType.BOUNTY, 1 << 5), SKILL_TOTAL(WorldType.SKILL_TOTAL, 1 << 7), - PVP_HIGH_RISK(WorldType.PVP_HIGH_RISK, 1 << 10), + HIGH_RISK(WorldType.HIGH_RISK, 1 << 10), LAST_MAN_STANDING(WorldType.LAST_MAN_STANDING, 1 << 14), TOURNAMENT(WorldType.TOURNAMENT, 1 << 25), DEADMAN_TOURNAMENT(WorldType.DEADMAN_TOURNAMENT, 1 << 26), diff --git a/runelite-api/src/main/java/net/runelite/api/WorldType.java b/runelite-api/src/main/java/net/runelite/api/WorldType.java index b22bc17fb3..8929691be0 100644 --- a/runelite-api/src/main/java/net/runelite/api/WorldType.java +++ b/runelite-api/src/main/java/net/runelite/api/WorldType.java @@ -49,9 +49,9 @@ public enum WorldType */ SKILL_TOTAL(1 << 7), /** - * Pvp high risk world type. + * High risk world type. */ - PVP_HIGH_RISK(1 << 10), + HIGH_RISK(1 << 10), /** * Last man standing world type. */ @@ -84,7 +84,7 @@ public enum WorldType DEADMAN, DEADMAN_TOURNAMENT, PVP, - PVP_HIGH_RISK, + HIGH_RISK, SEASONAL_DEADMAN ); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java index 9598b7eff5..c5a86c6df2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java @@ -409,7 +409,7 @@ public class DiscordPlugin extends Plugin if (worldType.contains(WorldType.SEASONAL_DEADMAN) || worldType.contains(WorldType.DEADMAN) || worldType.contains(WorldType.PVP) || - worldType.contains(WorldType.PVP_HIGH_RISK)) + worldType.contains(WorldType.HIGH_RISK)) { return false; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java index a6d52f7025..a161be1af6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java @@ -509,7 +509,7 @@ public class WorldHopperPlugin extends Plugin if (config.quickhopOutOfDanger()) { currentWorldTypes.remove(WorldType.PVP); - currentWorldTypes.remove(WorldType.PVP_HIGH_RISK); + currentWorldTypes.remove(WorldType.HIGH_RISK); } // Don't regard these worlds as a type that must be hopped between currentWorldTypes.remove(WorldType.BOUNTY); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java index c23face9ba..2cf20ddd4f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java @@ -244,7 +244,7 @@ class WorldTableRow extends JPanel return; } else if (world.getTypes().contains(WorldType.PVP) - || world.getTypes().contains(WorldType.PVP_HIGH_RISK) + || world.getTypes().contains(WorldType.HIGH_RISK) || world.getTypes().contains(WorldType.DEADMAN) || world.getTypes().contains(WorldType.SEASONAL_DEADMAN)) { From 011791d82374c21964d4e4a0b762c6bc3119c063 Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Tue, 23 Apr 2019 12:40:43 -0700 Subject: [PATCH 08/14] Remove PVP references to HIGH_RISK world type As described in 5bebd34bb, HIGH_RISK is not a PVP world type. Note: this will not affect the world hopper plugin, as it both explicitly references the high risk world type, and references the http-api WorldType implementation, not the runelite-api WorldType which is being modified in this commit. Fixes runelite/runelite#8605 Fixes runelite/runelite#8624 --- runelite-api/src/main/java/net/runelite/api/WorldType.java | 1 - .../net/runelite/client/plugins/discord/DiscordPlugin.java | 5 +---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/WorldType.java b/runelite-api/src/main/java/net/runelite/api/WorldType.java index 8929691be0..0ecfd1ed94 100644 --- a/runelite-api/src/main/java/net/runelite/api/WorldType.java +++ b/runelite-api/src/main/java/net/runelite/api/WorldType.java @@ -84,7 +84,6 @@ public enum WorldType DEADMAN, DEADMAN_TOURNAMENT, PVP, - HIGH_RISK, SEASONAL_DEADMAN ); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java index c5a86c6df2..443dd8ac12 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java @@ -406,10 +406,7 @@ public class DiscordPlugin extends Plugin final EnumSet worldType = client.getWorldType(); // Do not show location in PVP activities - if (worldType.contains(WorldType.SEASONAL_DEADMAN) || - worldType.contains(WorldType.DEADMAN) || - worldType.contains(WorldType.PVP) || - worldType.contains(WorldType.HIGH_RISK)) + if (WorldType.isPvpWorld(worldType)) { return false; } From 50518ebe72c502164aa7b7818802da36a75b7c96 Mon Sep 17 00:00:00 2001 From: Elliott Date: Tue, 23 Apr 2019 17:38:13 -0400 Subject: [PATCH 09/14] fishing plugin: add trawler timer Co-authored-by: Adam --- .../net/runelite/api/widgets/WidgetID.java | 1 + .../net/runelite/api/widgets/WidgetInfo.java | 2 + .../client/plugins/fishing/FishingConfig.java | 11 +++ .../client/plugins/fishing/FishingPlugin.java | 74 ++++++++++++++++++- 4 files changed, 87 insertions(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index d84bae473e..b4c5dda576 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -119,6 +119,7 @@ public class WidgetID public static final int MINIGAME_TAB_ID = 76; public static final int SPELLBOOK_GROUP_ID = 218; public static final int PVP_GROUP_ID = 90; + public static final int FISHING_TRAWLER_GROUP_ID = 366; public static final int ZEAH_MESS_HALL_GROUP_ID = 235; public static final int KOUREND_FAVOUR_GROUP_ID = 246; public static final int LOOTING_BAG_GROUP_ID = 81; diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index 5f12519d5d..a63b467e53 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -404,6 +404,8 @@ public enum WidgetInfo EXPERIENCE_TRACKER_WIDGET(WidgetID.EXPERIENCE_TRACKER_GROUP_ID, WidgetID.ExperienceTracker.WIDGET), EXPERIENCE_TRACKER_BOTTOM_BAR(WidgetID.EXPERIENCE_TRACKER_GROUP_ID, WidgetID.ExperienceTracker.BOTTOM_BAR), + FISHING_TRAWLER_TIMER(WidgetID.FISHING_TRAWLER_GROUP_ID, 37), + TITHE_FARM(WidgetID.TITHE_FARM_GROUP_ID, 1), BARROWS_INFO(WidgetID.BARROWS_GROUP_ID, 0), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingConfig.java index 17cb508a12..01d7454e4a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingConfig.java @@ -118,4 +118,15 @@ public interface FishingConfig extends Config { return true; } + + @ConfigItem( + position = 8, + keyName = "trawlerTimer", + name = "Trawler timer in MM:SS", + description = "Trawler Timer will display a more accurate timer in MM:SS format." + ) + default boolean trawlerTimer() + { + return true; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java index b9144a300f..d27886c1aa 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java @@ -57,6 +57,10 @@ import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.VarbitChanged; +import net.runelite.api.events.WidgetLoaded; +import net.runelite.api.widgets.Widget; +import net.runelite.api.widgets.WidgetID; +import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; @@ -78,9 +82,11 @@ public class FishingPlugin extends Plugin { private static final int TRAWLER_SHIP_REGION_NORMAL = 7499; private static final int TRAWLER_SHIP_REGION_SINKING = 8011; - + private static final int TRAWLER_TIME_LIMIT_IN_SECONDS = 614; private static final int TRAWLER_ACTIVITY_THRESHOLD = Math.round(0.15f * 255); + private Instant trawlerStartTime; + @Getter(AccessLevel.PACKAGE) private final FishingSession session = new FishingSession(); @@ -142,6 +148,7 @@ public class FishingPlugin extends Plugin minnowSpots.clear(); trawlerNotificationSent = false; currentSpot = null; + trawlerStartTime = null; } @Subscribe @@ -296,6 +303,11 @@ public class FishingPlugin extends Plugin } } } + + if (config.trawlerTimer()) + { + updateTrawlerTimer(); + } } @Subscribe @@ -351,6 +363,66 @@ public class FishingPlugin extends Plugin } } + @Subscribe + public void onWidgetLoaded(WidgetLoaded event) + { + if (event.getGroupId() == WidgetID.FISHING_TRAWLER_GROUP_ID) + { + trawlerStartTime = Instant.now(); + } + } + + /** + * Changes the Fishing Trawler timer widget from minutes to minutes and seconds + */ + private void updateTrawlerTimer() + { + if (trawlerStartTime == null) + { + return; + } + + int regionID = client.getLocalPlayer().getWorldLocation().getRegionID(); + if (regionID != TRAWLER_SHIP_REGION_NORMAL && regionID != TRAWLER_SHIP_REGION_SINKING) + { + log.debug("Trawler session ended"); + return; + } + + Widget trawlerTimerWidget = client.getWidget(WidgetInfo.FISHING_TRAWLER_TIMER); + if (trawlerTimerWidget == null) + { + return; + } + + long timeLeft = TRAWLER_TIME_LIMIT_IN_SECONDS - Duration.between(trawlerStartTime, Instant.now()).getSeconds(); + int minutes = (int) timeLeft / 60; + int seconds = (int) timeLeft % 60; + + final StringBuilder trawlerText = new StringBuilder(); + trawlerText.append("Time Left: "); + + if (minutes > 0) + { + trawlerText.append(minutes); + } + else + { + trawlerText.append("00"); + } + + trawlerText.append(':'); + + if (seconds < 10) + { + trawlerText.append("0"); + } + + trawlerText.append(seconds); + + trawlerTimerWidget.setText(trawlerText.toString()); + } + private void inverseSortSpotDistanceFromPlayer() { final LocalPoint cameraPoint = new LocalPoint(client.getCameraX(), client.getCameraY()); From 1242a508bc2cf00b37f61c73d685aeadc98e1e71 Mon Sep 17 00:00:00 2001 From: BrianAllred Date: Wed, 24 Apr 2019 07:42:52 -0500 Subject: [PATCH 10/14] npc aggro timer: Add option to hide hint overlay (#8610) Closes #8589 --- .../plugins/npcunaggroarea/NpcAggroAreaConfig.java | 11 +++++++++++ .../npcunaggroarea/NpcAggroAreaNotWorkingOverlay.java | 6 ++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaConfig.java index a0e4992e31..99084a9172 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaConfig.java @@ -92,4 +92,15 @@ public interface NpcAggroAreaConfig extends Config { return Color.YELLOW; } + + @ConfigItem( + keyName = "npcUnaggroShowNotWorkingOverlay", + name = "Hide overlay hint", + description = "Hide overlay hint if plugin is enabled in unsupported area", + position = 6 + ) + default boolean hideOverlayHint() + { + return false; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaNotWorkingOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaNotWorkingOverlay.java index 0a9dedb357..3d238cce85 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaNotWorkingOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaNotWorkingOverlay.java @@ -36,12 +36,14 @@ import net.runelite.client.ui.overlay.components.PanelComponent; class NpcAggroAreaNotWorkingOverlay extends Overlay { private final NpcAggroAreaPlugin plugin; + private final NpcAggroAreaConfig config; private final PanelComponent panelComponent; @Inject - private NpcAggroAreaNotWorkingOverlay(NpcAggroAreaPlugin plugin) + private NpcAggroAreaNotWorkingOverlay(NpcAggroAreaPlugin plugin, NpcAggroAreaConfig config) { this.plugin = plugin; + this.config = config; panelComponent = new PanelComponent(); panelComponent.setPreferredSize(new Dimension(150, 0)); @@ -56,7 +58,7 @@ class NpcAggroAreaNotWorkingOverlay extends Overlay @Override public Dimension render(Graphics2D graphics) { - if (!plugin.isActive() || plugin.getSafeCenters()[1] != null) + if (!plugin.isActive() || plugin.getSafeCenters()[1] != null || config.hideOverlayHint()) { return null; } From 6c86c96a913954d8c50da524fbf34a9726db06bb Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Wed, 24 Apr 2019 23:44:26 +0200 Subject: [PATCH 11/14] Add missing 'knows' to Hans beginner clue Signed-off-by: Tomas Slusny --- .../runelite/client/plugins/cluescrolls/clues/CrypticClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java index 4fdc6efa09..9180d6f007 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java @@ -303,7 +303,7 @@ public class CrypticClue extends ClueScroll implements TextClueScroll, NpcClueSc new CrypticClue("Search the drawers, upstairs in the bank to the East of Varrock.", DRAWERS_7194, new WorldPoint(3250, 3420, 1), "Search the drawers upstairs in Varrock east bank."), new CrypticClue("Speak to Hazelmere.", "Hazelmere", new WorldPoint(2677, 3088, 1), "Located upstairs in the house to the north of fairy ring CLS. Answer: 6859"), new CrypticClue("The effects of this fire are magnified.", new WorldPoint(1179, 3626, 0), "Dig by the fire beside Ket'sal K'uk in the westernmost part of the Kebos Swamp. "), - new CrypticClue("Always walking around the castle grounds and somehow everyone's age.", "Hans", new WorldPoint(3221, 3218, 0), "Talk to Hans walking around Lumbridge Castle."), + new CrypticClue("Always walking around the castle grounds and somehow knows everyone's age.", "Hans", new WorldPoint(3221, 3218, 0), "Talk to Hans walking around Lumbridge Castle."), new CrypticClue("In the place Duke Horacio calls home, talk to a man with a hat dropped by goblins.", "Cook", new WorldPoint(3208, 3213, 0), "Talk to the Cook in Lumbridge Castle."), new CrypticClue("In a village of barbarians, I am the one who guards the village from up high.", "Hunding", new WorldPoint(3097, 3432, 2), "Talk to Hunding atop the tower on the east side of Barbarian Village."), new CrypticClue("Talk to Charlie the Tramp in Varrock.", "Charlie the Tramp", new WorldPoint(3209, 3390, 0), "Talk to Charlie the Tramp by the southern entrance to Varrock. He will give you a task."), From f6f1a4b7d06db66bae52d70ae1056deaec65c838 Mon Sep 17 00:00:00 2001 From: James Munson Date: Wed, 24 Apr 2019 17:22:23 -0700 Subject: [PATCH 12/14] Update --- .../runelite/http/api/worlds/WorldType.java | 2 +- .../http/service/worlds/ServiceWorldType.java | 2 +- .../main/java/net/runelite/api/WorldType.java | 5 +- .../net/runelite/api/widgets/WidgetID.java | 1 + .../net/runelite/api/widgets/WidgetInfo.java | 2 + .../plugins/agility/LapCounterOverlay.java | 4 +- .../cluescrolls/clues/CrypticClue.java | 2 +- .../clues/hotcold/HotColdLocation.java | 3 +- .../client/plugins/discord/DiscordPlugin.java | 5 +- .../client/plugins/fishing/FishingConfig.java | 11 + .../client/plugins/fishing/FishingPlugin.java | 74 ++++++- .../NpcAggroAreaNotWorkingOverlay.java | 6 +- .../plugins/questlist/QuestListPlugin.java | 91 ++++---- .../worldhopper/WorldHopperPlugin.java | 2 +- .../plugins/worldhopper/WorldTableRow.java | 2 +- .../main/scripts/QuestListShowProgress.hash | 1 + .../main/scripts/QuestListShowProgress.rs2asm | 198 ++++++++++++++++++ 17 files changed, 349 insertions(+), 62 deletions(-) create mode 100644 runelite-client/src/main/scripts/QuestListShowProgress.hash create mode 100644 runelite-client/src/main/scripts/QuestListShowProgress.rs2asm diff --git a/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java b/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java index 3bea0a4cbc..c94a7c70e6 100644 --- a/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java +++ b/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java @@ -30,7 +30,7 @@ public enum WorldType PVP, BOUNTY, SKILL_TOTAL, - PVP_HIGH_RISK, + HIGH_RISK, LAST_MAN_STANDING, TOURNAMENT, DEADMAN, diff --git a/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java b/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java index 1a3c1271f9..c6aa598321 100644 --- a/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java +++ b/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java @@ -32,7 +32,7 @@ enum ServiceWorldType PVP(WorldType.PVP, 1 << 2), BOUNTY(WorldType.BOUNTY, 1 << 5), SKILL_TOTAL(WorldType.SKILL_TOTAL, 1 << 7), - PVP_HIGH_RISK(WorldType.PVP_HIGH_RISK, 1 << 10), + HIGH_RISK(WorldType.HIGH_RISK, 1 << 10), LAST_MAN_STANDING(WorldType.LAST_MAN_STANDING, 1 << 14), TOURNAMENT(WorldType.TOURNAMENT, 1 << 25), DEADMAN_TOURNAMENT(WorldType.DEADMAN_TOURNAMENT, 1 << 26), diff --git a/runelite-api/src/main/java/net/runelite/api/WorldType.java b/runelite-api/src/main/java/net/runelite/api/WorldType.java index b22bc17fb3..0ecfd1ed94 100644 --- a/runelite-api/src/main/java/net/runelite/api/WorldType.java +++ b/runelite-api/src/main/java/net/runelite/api/WorldType.java @@ -49,9 +49,9 @@ public enum WorldType */ SKILL_TOTAL(1 << 7), /** - * Pvp high risk world type. + * High risk world type. */ - PVP_HIGH_RISK(1 << 10), + HIGH_RISK(1 << 10), /** * Last man standing world type. */ @@ -84,7 +84,6 @@ public enum WorldType DEADMAN, DEADMAN_TOURNAMENT, PVP, - PVP_HIGH_RISK, SEASONAL_DEADMAN ); diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index ba9e8ea8cc..61e604eee6 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -135,6 +135,7 @@ public class WidgetID public static final int MUSICTAB_GROUP_ID = 239; public static final int BARROWS_PUZZLE_GROUP_ID = 25; public static final int ITEMS_KEPT_ON_DEATH_GROUP_ID = 4; + public static final int FISHING_TRAWLER_GROUP_ID = 366; static class WorldMap { diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index 579007c2f4..1bff89b327 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -420,6 +420,8 @@ public enum WidgetInfo EXPERIENCE_TRACKER_WIDGET(WidgetID.EXPERIENCE_TRACKER_GROUP_ID, WidgetID.ExperienceTracker.WIDGET), EXPERIENCE_TRACKER_BOTTOM_BAR(WidgetID.EXPERIENCE_TRACKER_GROUP_ID, WidgetID.ExperienceTracker.BOTTOM_BAR), + FISHING_TRAWLER_TIMER(WidgetID.FISHING_TRAWLER_GROUP_ID, 37), + TITHE_FARM(WidgetID.TITHE_FARM_GROUP_ID, 1), BARROWS_INFO(WidgetID.BARROWS_GROUP_ID, 0), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/LapCounterOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/LapCounterOverlay.java index c3da7a62f2..b6da44d76a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/LapCounterOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/LapCounterOverlay.java @@ -81,14 +81,14 @@ class LapCounterOverlay extends Overlay panelComponent.getChildren().clear(); panelComponent.getChildren().add(LineComponent.builder() - .left("Total Laps") + .left("Total Laps:") .right(Integer.toString(session.getTotalLaps())) .build()); if (session.getLapsTillLevel() > 0) { panelComponent.getChildren().add(LineComponent.builder() - .left("Laps till level") + .left("Laps until level:") .right(Integer.toString(session.getLapsTillLevel())) .build()); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java index 4fdc6efa09..9180d6f007 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java @@ -303,7 +303,7 @@ public class CrypticClue extends ClueScroll implements TextClueScroll, NpcClueSc new CrypticClue("Search the drawers, upstairs in the bank to the East of Varrock.", DRAWERS_7194, new WorldPoint(3250, 3420, 1), "Search the drawers upstairs in Varrock east bank."), new CrypticClue("Speak to Hazelmere.", "Hazelmere", new WorldPoint(2677, 3088, 1), "Located upstairs in the house to the north of fairy ring CLS. Answer: 6859"), new CrypticClue("The effects of this fire are magnified.", new WorldPoint(1179, 3626, 0), "Dig by the fire beside Ket'sal K'uk in the westernmost part of the Kebos Swamp. "), - new CrypticClue("Always walking around the castle grounds and somehow everyone's age.", "Hans", new WorldPoint(3221, 3218, 0), "Talk to Hans walking around Lumbridge Castle."), + new CrypticClue("Always walking around the castle grounds and somehow knows everyone's age.", "Hans", new WorldPoint(3221, 3218, 0), "Talk to Hans walking around Lumbridge Castle."), new CrypticClue("In the place Duke Horacio calls home, talk to a man with a hat dropped by goblins.", "Cook", new WorldPoint(3208, 3213, 0), "Talk to the Cook in Lumbridge Castle."), new CrypticClue("In a village of barbarians, I am the one who guards the village from up high.", "Hunding", new WorldPoint(3097, 3432, 2), "Talk to Hunding atop the tower on the east side of Barbarian Village."), new CrypticClue("Talk to Charlie the Tramp in Varrock.", "Charlie the Tramp", new WorldPoint(3209, 3390, 0), "Talk to Charlie the Tramp by the southern entrance to Varrock. He will give you a task."), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java index bf9d40bac9..b6c6fa2a43 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java @@ -143,8 +143,9 @@ public enum HotColdLocation WILDERNESS_5(new WorldPoint(3169, 3558, 0), WILDERNESS, "North of the Grand Exchange, level 5 Wilderness."), WILDERNESS_12(new WorldPoint(3038, 3612, 0), WILDERNESS, "South-east of the Dark Warriors' Fortress, level 12 Wilderness."), WILDERNESS_20(new WorldPoint(3225, 3676, 0), WILDERNESS, "East of the Corporeal Beast's lair, level 20 Wilderness."), - WILDERNESS_27(new WorldPoint(3174, 3735, 0), WILDERNESS, "North-west of the Corporeal Beast cave, in the ruins at level 27 Wilderness."), + WILDERNESS_27(new WorldPoint(3174, 3735, 0), WILDERNESS, "Inside the Ruins north of the Graveyard of Shadows, level 27 Wilderness."), WILDERNESS_28(new WorldPoint(3374, 3734, 0), WILDERNESS, "East of Venenatis' nest, level 28 Wilderness."), + WILDERNESS_32(new WorldPoint(3311, 3773, 0), WILDERNESS, "North of Venenatis' nest, level 32 Wilderness."), WILDERNESS_35(new WorldPoint(3153, 3795, 0), WILDERNESS, "East of the Wilderness canoe exit, level 35 Wilderness."), WILDERNESS_37(new WorldPoint(2975, 3811, 0), WILDERNESS, "South-east of the Chaos Temple, level 37 Wilderness."), WILDERNESS_38(new WorldPoint(3294, 3817, 0), WILDERNESS, "South of Callisto, level 38 Wilderness."), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java index 9598b7eff5..443dd8ac12 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java @@ -406,10 +406,7 @@ public class DiscordPlugin extends Plugin final EnumSet worldType = client.getWorldType(); // Do not show location in PVP activities - if (worldType.contains(WorldType.SEASONAL_DEADMAN) || - worldType.contains(WorldType.DEADMAN) || - worldType.contains(WorldType.PVP) || - worldType.contains(WorldType.PVP_HIGH_RISK)) + if (WorldType.isPvpWorld(worldType)) { return false; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingConfig.java index 17cb508a12..01d7454e4a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingConfig.java @@ -118,4 +118,15 @@ public interface FishingConfig extends Config { return true; } + + @ConfigItem( + position = 8, + keyName = "trawlerTimer", + name = "Trawler timer in MM:SS", + description = "Trawler Timer will display a more accurate timer in MM:SS format." + ) + default boolean trawlerTimer() + { + return true; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java index b9144a300f..d27886c1aa 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java @@ -57,6 +57,10 @@ import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.VarbitChanged; +import net.runelite.api.events.WidgetLoaded; +import net.runelite.api.widgets.Widget; +import net.runelite.api.widgets.WidgetID; +import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; @@ -78,9 +82,11 @@ public class FishingPlugin extends Plugin { private static final int TRAWLER_SHIP_REGION_NORMAL = 7499; private static final int TRAWLER_SHIP_REGION_SINKING = 8011; - + private static final int TRAWLER_TIME_LIMIT_IN_SECONDS = 614; private static final int TRAWLER_ACTIVITY_THRESHOLD = Math.round(0.15f * 255); + private Instant trawlerStartTime; + @Getter(AccessLevel.PACKAGE) private final FishingSession session = new FishingSession(); @@ -142,6 +148,7 @@ public class FishingPlugin extends Plugin minnowSpots.clear(); trawlerNotificationSent = false; currentSpot = null; + trawlerStartTime = null; } @Subscribe @@ -296,6 +303,11 @@ public class FishingPlugin extends Plugin } } } + + if (config.trawlerTimer()) + { + updateTrawlerTimer(); + } } @Subscribe @@ -351,6 +363,66 @@ public class FishingPlugin extends Plugin } } + @Subscribe + public void onWidgetLoaded(WidgetLoaded event) + { + if (event.getGroupId() == WidgetID.FISHING_TRAWLER_GROUP_ID) + { + trawlerStartTime = Instant.now(); + } + } + + /** + * Changes the Fishing Trawler timer widget from minutes to minutes and seconds + */ + private void updateTrawlerTimer() + { + if (trawlerStartTime == null) + { + return; + } + + int regionID = client.getLocalPlayer().getWorldLocation().getRegionID(); + if (regionID != TRAWLER_SHIP_REGION_NORMAL && regionID != TRAWLER_SHIP_REGION_SINKING) + { + log.debug("Trawler session ended"); + return; + } + + Widget trawlerTimerWidget = client.getWidget(WidgetInfo.FISHING_TRAWLER_TIMER); + if (trawlerTimerWidget == null) + { + return; + } + + long timeLeft = TRAWLER_TIME_LIMIT_IN_SECONDS - Duration.between(trawlerStartTime, Instant.now()).getSeconds(); + int minutes = (int) timeLeft / 60; + int seconds = (int) timeLeft % 60; + + final StringBuilder trawlerText = new StringBuilder(); + trawlerText.append("Time Left: "); + + if (minutes > 0) + { + trawlerText.append(minutes); + } + else + { + trawlerText.append("00"); + } + + trawlerText.append(':'); + + if (seconds < 10) + { + trawlerText.append("0"); + } + + trawlerText.append(seconds); + + trawlerTimerWidget.setText(trawlerText.toString()); + } + private void inverseSortSpotDistanceFromPlayer() { final LocalPoint cameraPoint = new LocalPoint(client.getCameraX(), client.getCameraY()); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaNotWorkingOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaNotWorkingOverlay.java index 0a9dedb357..3d238cce85 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaNotWorkingOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaNotWorkingOverlay.java @@ -36,12 +36,14 @@ import net.runelite.client.ui.overlay.components.PanelComponent; class NpcAggroAreaNotWorkingOverlay extends Overlay { private final NpcAggroAreaPlugin plugin; + private final NpcAggroAreaConfig config; private final PanelComponent panelComponent; @Inject - private NpcAggroAreaNotWorkingOverlay(NpcAggroAreaPlugin plugin) + private NpcAggroAreaNotWorkingOverlay(NpcAggroAreaPlugin plugin, NpcAggroAreaConfig config) { this.plugin = plugin; + this.config = config; panelComponent = new PanelComponent(); panelComponent.setPreferredSize(new Dimension(150, 0)); @@ -56,7 +58,7 @@ class NpcAggroAreaNotWorkingOverlay extends Overlay @Override public Dimension render(Graphics2D graphics) { - if (!plugin.isActive() || plugin.getSafeCenters()[1] != null) + if (!plugin.isActive() || plugin.getSafeCenters()[1] != null || config.hideOverlayHint()) { return null; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/questlist/QuestListPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/questlist/QuestListPlugin.java index fdc05403df..2ebf2a4318 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/questlist/QuestListPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/questlist/QuestListPlugin.java @@ -36,12 +36,11 @@ import net.runelite.api.SpriteID; import net.runelite.api.VarClientInt; import net.runelite.api.Varbits; import net.runelite.api.events.GameStateChanged; +import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.VarClientIntChanged; import net.runelite.api.events.VarbitChanged; -import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.JavaScriptCallback; import net.runelite.api.widgets.Widget; -import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetPositionMode; import net.runelite.api.widgets.WidgetType; @@ -104,46 +103,45 @@ public class QuestListPlugin extends Plugin } @Subscribe - public void onWidgetLoaded(WidgetLoaded widgetLoaded) + public void onScriptCallbackEvent(ScriptCallbackEvent event) { - if (widgetLoaded.getGroupId() == WidgetID.QUESTLIST_GROUP_ID) + if (!event.getEventName().equals("questProgressUpdated")) { - Widget header = client.getWidget(WidgetInfo.QUESTLIST_BOX); - if (header != null) - { - questSearchButton = header.createChild(-1, WidgetType.GRAPHIC); - questSearchButton.setSpriteId(SpriteID.GE_SEARCH); - questSearchButton.setOriginalWidth(18); - questSearchButton.setOriginalHeight(17); - questSearchButton.setXPositionMode(WidgetPositionMode.ABSOLUTE_RIGHT); - questSearchButton.setOriginalX(5); - questSearchButton.setOriginalY(0); - questSearchButton.setHasListener(true); - questSearchButton.setAction(1, MENU_OPEN); - questSearchButton.setOnOpListener((JavaScriptCallback) e -> openSearch()); - questSearchButton.setName(MENU_SEARCH); - questSearchButton.revalidate(); + return; + } - questHideButton = header.createChild(-1, WidgetType.GRAPHIC); - redrawHideButton(); + Widget header = client.getWidget(WidgetInfo.QUESTLIST_BOX); + if (header != null) + { + questSearchButton = header.createChild(-1, WidgetType.GRAPHIC); + questSearchButton.setSpriteId(SpriteID.GE_SEARCH); + questSearchButton.setOriginalWidth(18); + questSearchButton.setOriginalHeight(17); + questSearchButton.setXPositionMode(WidgetPositionMode.ABSOLUTE_RIGHT); + questSearchButton.setOriginalX(5); + questSearchButton.setOriginalY(0); + questSearchButton.setHasListener(true); + questSearchButton.setAction(1, MENU_OPEN); + questSearchButton.setOnOpListener((JavaScriptCallback) e -> openSearch()); + questSearchButton.setName(MENU_SEARCH); + questSearchButton.revalidate(); - questHideButton.setOriginalWidth(13); - questHideButton.setOriginalHeight(13); - questHideButton.setXPositionMode(WidgetPositionMode.ABSOLUTE_RIGHT); - questHideButton.setOriginalX(24); - questHideButton.setOriginalY(2); - questHideButton.setHasListener(true); - questHideButton.setOnOpListener((JavaScriptCallback) e -> toggleHidden()); - questHideButton.setAction(1, MENU_TOGGLE); - questHideButton.revalidate(); + questHideButton = header.createChild(-1, WidgetType.GRAPHIC); + redrawHideButton(); - questSet = new EnumMap<>(QuestContainer.class); + questHideButton.setOriginalWidth(13); + questHideButton.setOriginalHeight(13); + questHideButton.setXPositionMode(WidgetPositionMode.ABSOLUTE_RIGHT); + questHideButton.setOriginalX(24); + questHideButton.setOriginalY(2); + questHideButton.setHasListener(true); + questHideButton.setOnOpListener((JavaScriptCallback) e -> toggleHidden()); + questHideButton.setAction(1, MENU_TOGGLE); + questHideButton.revalidate(); - if (!header.isHidden()) - { - updateFilter(); - } - } + questSet = new EnumMap<>(QuestContainer.class); + + updateFilter(); } } @@ -259,21 +257,26 @@ public class QuestListPlugin extends Plugin int y = miniList.getRelativeY() + miniList.getHeight() + 10; - int newHeight = 0; + int newHeight; if (container.getScrollHeight() > 0) { newHeight = (container.getScrollY() * y) / container.getScrollHeight(); } + else + { + newHeight = 0; + } container.setScrollHeight(y); container.revalidateScroll(); - client.runScript( - ScriptID.UPDATE_SCROLLBAR, - WidgetInfo.QUESTLIST_SCROLLBAR.getId(), - WidgetInfo.QUESTLIST_CONTAINER.getId(), - newHeight - ); + clientThread.invokeLater(() -> + client.runScript( + ScriptID.UPDATE_SCROLLBAR, + WidgetInfo.QUESTLIST_SCROLLBAR.getId(), + WidgetInfo.QUESTLIST_CONTAINER.getId(), + newHeight + )); } private void updateList(QuestContainer questContainer, String filter) @@ -309,7 +312,7 @@ public class QuestListPlugin extends Plugin // Find all of the widgets that we care about, sorting by their Y value quests = Arrays.stream(list.getDynamicChildren()) .sorted(Comparator.comparing(Widget::getRelativeY)) - .filter(w -> !w.isSelfHidden() && !QUEST_HEADERS.contains(w.getText())) + .filter(w -> !QUEST_HEADERS.contains(w.getText())) .map(w -> new QuestWidget(w, Text.removeTags(w.getText()).toLowerCase())) .collect(Collectors.toList()); questSet.put(questContainer, quests); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java index f541ab2152..9a56f6eeab 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java @@ -554,7 +554,7 @@ public class WorldHopperPlugin extends Plugin if (config.quickhopOutOfDanger()) { currentWorldTypes.remove(WorldType.PVP); - currentWorldTypes.remove(WorldType.PVP_HIGH_RISK); + currentWorldTypes.remove(WorldType.HIGH_RISK); } // Don't regard these worlds as a type that must be hopped between currentWorldTypes.remove(WorldType.BOUNTY); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java index a497da60e7..a450c36b89 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java @@ -245,7 +245,7 @@ class WorldTableRow extends JPanel return; } else if (world.getTypes().contains(WorldType.PVP) - || world.getTypes().contains(WorldType.PVP_HIGH_RISK) + || world.getTypes().contains(WorldType.HIGH_RISK) || world.getTypes().contains(WorldType.DEADMAN) || world.getTypes().contains(WorldType.SEASONAL_DEADMAN)) { diff --git a/runelite-client/src/main/scripts/QuestListShowProgress.hash b/runelite-client/src/main/scripts/QuestListShowProgress.hash new file mode 100644 index 0000000000..d3899f1431 --- /dev/null +++ b/runelite-client/src/main/scripts/QuestListShowProgress.hash @@ -0,0 +1 @@ +A6B3A7BFE7B688A08F69B91A7FD5C7184D71147D3DAF74B1262369D85DBB3A03 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm b/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm new file mode 100644 index 0000000000..f7f91cd83e --- /dev/null +++ b/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm @@ -0,0 +1,198 @@ +.id 1354 +.int_stack_count 3 +.string_stack_count 0 +.int_var_count 7 +.string_var_count 0 + iconst 0 + istore 3 + iconst 0 + istore 4 + iconst 0 + istore 5 + invoke 1340 + istore 6 +LABEL8: + iload 5 + iload 6 + if_icmplt LABEL12 + jump LABEL56 +LABEL12: + iload 0 + iload 5 + cc_find + iconst 1 + if_icmpeq LABEL18 + jump LABEL51 +LABEL18: + iload 5 + invoke 1357 + istore 3 + iload 3 + iconst 2 + if_icmpeq LABEL25 + jump LABEL28 +LABEL25: + iconst 901389 + istore 4 + jump LABEL37 +LABEL28: + iload 3 + iconst 0 + if_icmpeq LABEL32 + jump LABEL35 +LABEL32: + iconst 16776960 + istore 4 + jump LABEL37 +LABEL35: + iconst 16711680 + istore 4 +LABEL37: + iload 4 + cc_setcolour + iconst 85 + iconst -2147483645 + iconst -2147483643 + iconst 16777215 + sconst "Iii" + cc_setonmouseover + iconst 85 + iconst -2147483645 + iconst -2147483643 + iload 4 + sconst "Iii" + cc_setonmouseleave +LABEL51: + iload 5 + iconst 1 + add + istore 5 + jump LABEL8 +LABEL56: + iconst 0 + invoke 2245 + istore 6 + istore 5 +LABEL60: + iload 5 + iload 6 + if_icmplt LABEL64 + jump LABEL108 +LABEL64: + iload 1 + iload 5 + cc_find + iconst 1 + if_icmpeq LABEL70 + jump LABEL103 +LABEL70: + iload 5 + invoke 1358 + istore 3 + iload 3 + iconst 2 + if_icmpeq LABEL77 + jump LABEL80 +LABEL77: + iconst 901389 + istore 4 + jump LABEL89 +LABEL80: + iload 3 + iconst 0 + if_icmpeq LABEL84 + jump LABEL87 +LABEL84: + iconst 16776960 + istore 4 + jump LABEL89 +LABEL87: + iconst 16711680 + istore 4 +LABEL89: + iload 4 + cc_setcolour + iconst 85 + iconst -2147483645 + iconst -2147483643 + iconst 16777215 + sconst "Iii" + cc_setonmouseover + iconst 85 + iconst -2147483645 + iconst -2147483643 + iload 4 + sconst "Iii" + cc_setonmouseleave +LABEL103: + iload 5 + iconst 1 + add + istore 5 + jump LABEL60 +LABEL108: + iconst 0 + invoke 2265 + istore 6 + istore 5 +LABEL112: + iload 5 + iload 6 + if_icmplt LABEL116 + jump LABEL160 +LABEL116: + iload 2 + iload 5 + cc_find + iconst 1 + if_icmpeq LABEL122 + jump LABEL155 +LABEL122: + iload 5 + invoke 1359 + istore 3 + iload 3 + iconst 2 + if_icmpeq LABEL129 + jump LABEL132 +LABEL129: + iconst 901389 + istore 4 + jump LABEL141 +LABEL132: + iload 3 + iconst 0 + if_icmpeq LABEL136 + jump LABEL139 +LABEL136: + iconst 16776960 + istore 4 + jump LABEL141 +LABEL139: + iconst 16711680 + istore 4 +LABEL141: + iload 4 + cc_setcolour + iconst 85 + iconst -2147483645 + iconst -2147483643 + iconst 16777215 + sconst "Iii" + cc_setonmouseover + iconst 85 + iconst -2147483645 + iconst -2147483643 + iload 4 + sconst "Iii" + cc_setonmouseleave +LABEL155: + iload 5 + iconst 1 + add + istore 5 + jump LABEL112 +LABEL160: + sconst "questProgressUpdated" + runelite_callback + return From e1ffdf24a2990c2693a026e19495e40a4665b847 Mon Sep 17 00:00:00 2001 From: James Munson Date: Wed, 24 Apr 2019 17:32:47 -0700 Subject: [PATCH 13/14] Updated plugins --- .../src/main/java/net/runelite/api/widgets/WidgetID.java | 1 - .../client/plugins/multiindicators/MultiIndicatorsPlugin.java | 2 +- .../client/plugins/whalewatchers/WhaleWatchersPlugin.java | 2 +- .../src/main/java/net/runelite/client/util/MiscUtils.java | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 42428ce9ed..bb10df74ad 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -136,7 +136,6 @@ public class WidgetID public static final int MUSICTAB_GROUP_ID = 239; public static final int BARROWS_PUZZLE_GROUP_ID = 25; public static final int ITEMS_KEPT_ON_DEATH_GROUP_ID = 4; - public static final int FISHING_TRAWLER_GROUP_ID = 366; static class WorldMap { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/multiindicators/MultiIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/multiindicators/MultiIndicatorsPlugin.java index 5c24ec6f95..4882930ed6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/multiindicators/MultiIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/multiindicators/MultiIndicatorsPlugin.java @@ -211,7 +211,7 @@ public class MultiIndicatorsPlugin extends Plugin inDeadman = client.getWorldType().stream().anyMatch(x -> x == WorldType.DEADMAN || x == WorldType.SEASONAL_DEADMAN); inPvp = client.getWorldType().stream().anyMatch(x -> - x == WorldType.PVP || x == WorldType.PVP_HIGH_RISK); + x == WorldType.PVP || x == WorldType.HIGH_RISK); Rectangle sceneRect = new Rectangle( client.getBaseX() + 1, client.getBaseY() + 1, diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java index 356b846bdc..86f33b2704 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java @@ -242,7 +242,7 @@ public class WhaleWatchersPlugin extends Plugin enableOverlay = true; } if (client.getVar(Varbits.PRAYER_PROTECT_ITEM) == 1 || client.getVar(Varbits.IN_WILDERNESS) == 0 || - client.getWorldType().contains(PVP_HIGH_RISK) || client.getWorld() == 365) + client.getWorldType().contains(HIGH_RISK) || client.getWorld() == 365) { enableOverlay = false; } diff --git a/runelite-client/src/main/java/net/runelite/client/util/MiscUtils.java b/runelite-client/src/main/java/net/runelite/client/util/MiscUtils.java index 039c3cfa2b..077439ee88 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/MiscUtils.java +++ b/runelite-client/src/main/java/net/runelite/client/util/MiscUtils.java @@ -47,7 +47,7 @@ public class MiscUtils if (y < 9920) wildernessLevel = 0; - if (client.getWorldType().stream().anyMatch(worldType -> worldType == WorldType.PVP || worldType == WorldType.PVP_HIGH_RISK)) + if (client.getWorldType().stream().anyMatch(worldType -> worldType == WorldType.PVP || worldType == WorldType.HIGH_RISK)) { wildernessLevel += 15; } From 7f056bee04f7aff48765f3d48661dc3e19053fb0 Mon Sep 17 00:00:00 2001 From: James Munson Date: Wed, 24 Apr 2019 17:35:45 -0700 Subject: [PATCH 14/14] Updated plugins --- .../runelite/client/plugins/keptondeath/KeptOnDeathPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/keptondeath/KeptOnDeathPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/keptondeath/KeptOnDeathPlugin.java index 8ec3e75da3..ba38a6b615 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/keptondeath/KeptOnDeathPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/keptondeath/KeptOnDeathPlugin.java @@ -178,7 +178,7 @@ public class KeptOnDeathPlugin extends Plugin private boolean isInPvpWorld() { EnumSet world = client.getWorldType(); - return world.contains(WorldType.PVP) || world.contains(WorldType.PVP_HIGH_RISK); + return world.contains(WorldType.PVP) || world.contains(WorldType.HIGH_RISK); } private boolean isInPvPSafeZone()