From f957b386b7ec6d723526eb29b9fe082574e50385 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Wed, 2 Oct 2019 10:33:46 +0000 Subject: [PATCH 01/17] Update Item IDs to 2019-10-02-c1-rev182 --- .../main/java/net/runelite/api/ItemID.java | 19 ++++++++++++++++++- .../java/net/runelite/api/NullItemID.java | 9 +++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/ItemID.java b/runelite-api/src/main/java/net/runelite/api/ItemID.java index ce64f4e9df..2d6ea1e91e 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemID.java @@ -6820,7 +6820,7 @@ public final class ItemID public static final int CURED_YAKHIDE = 10820; public static final int YAKHIDE_ARMOUR = 10822; public static final int YAKHIDE_ARMOUR_10824 = 10824; - public static final int FREMENNIK_SHIELD_10826 = 10826; + public static final int NEITIZNOT_SHIELD = 10826; public static final int HELM_OF_NEITIZNOT = 10828; public static final int DOCUMENTS = 10829; public static final int ROYAL_DECREE = 10830; @@ -11266,5 +11266,22 @@ public final class ItemID public static final int IMBUED_SARADOMIN_CAPE_L = 24248; public static final int IMBUED_GUTHIX_CAPE_L = 24249; public static final int IMBUED_ZAMORAK_CAPE_L = 24250; + public static final int WILDERNESS_CRABS_TELEPORT = 24251; + public static final int CLUE_SCROLL_ELITE_24253 = 24253; + public static final int FANG = 24254; + public static final int VENOM_GLAND = 24255; + public static final int UNSEALED_LETTER = 24256; + public static final int UNSEALED_LETTER_24257 = 24257; + public static final int V_SIGIL = 24258; + public static final int V_SIGIL_E = 24259; + public static final int MOLTEN_GLASS_I = 24260; + public static final int LUNAR_GLASS = 24261; + public static final int POLISHING_ROCK = 24262; + public static final int BALLAD_OF_THE_BASILISK = 24263; + public static final int VS_SHIELD = 24265; + public static final int VS_SHIELD_24266 = 24266; + public static final int BASILISK_JAW = 24268; + public static final int NEITIZNOT_FACEGUARD = 24271; + public static final int BASILISK_KNIGHT = 24276; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/NullItemID.java b/runelite-api/src/main/java/net/runelite/api/NullItemID.java index 37fd8789e1..6216678f1b 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullItemID.java @@ -12774,5 +12774,14 @@ public final class NullItemID public static final int NULL_24243 = 24243; public static final int NULL_24245 = 24245; public static final int NULL_24247 = 24247; + public static final int NULL_24252 = 24252; + public static final int NULL_24264 = 24264; + public static final int NULL_24267 = 24267; + public static final int NULL_24269 = 24269; + public static final int NULL_24270 = 24270; + public static final int NULL_24272 = 24272; + public static final int NULL_24273 = 24273; + public static final int NULL_24274 = 24274; + public static final int NULL_24275 = 24275; /* This file is automatically generated. Do not edit. */ } From c785109c20ba750e0bd6b2635a27f654ab3a6353 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Wed, 2 Oct 2019 10:33:46 +0000 Subject: [PATCH 02/17] Update Item variations to 2019-10-02-c1-rev182 --- .../src/main/resources/item_variations.json | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/resources/item_variations.json b/runelite-client/src/main/resources/item_variations.json index 5e7a83c567..d136d609c9 100644 --- a/runelite-client/src/main/resources/item_variations.json +++ b/runelite-client/src/main/resources/item_variations.json @@ -1347,7 +1347,8 @@ 23814, 23815, 23816, - 23817 + 23817, + 24253 ], "radimus notes": [ 714, @@ -2277,6 +2278,10 @@ 1755, 5601 ], + "molten glass": [ + 1775, + 24260 + ], "woad leaf": [ 1793, 5738 @@ -3313,10 +3318,6 @@ 3755, 20573 ], - "fremennik shield": [ - 3758, - 10826 - ], "saradomin page": [ 3827, 3828, @@ -9583,5 +9584,17 @@ 24211, 24213, 24215 + ], + "unsealed letter": [ + 24256, + 24257 + ], + "v sigil": [ + 24258, + 24259 + ], + "vs shield": [ + 24265, + 24266 ] } \ No newline at end of file From c9d27c3227fb04e3b211ba4a43af1483e691c84b Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Wed, 2 Oct 2019 10:33:47 +0000 Subject: [PATCH 03/17] Update Object IDs to 2019-10-02-c1-rev182 --- .../java/net/runelite/api/NullObjectID.java | 21 +++++++++++++ .../main/java/net/runelite/api/ObjectID.java | 30 ++++++++++++++++--- 2 files changed, 47 insertions(+), 4 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java index 1c294cf2a8..8d06a4ab7f 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java @@ -1270,6 +1270,7 @@ public final class NullObjectID public static final int NULL_2780 = 2780; public static final int NULL_2781 = 2781; public static final int NULL_2782 = 2782; + public static final int NULL_2795 = 2795; public static final int NULL_2828 = 2828; public static final int NULL_2829 = 2829; public static final int NULL_2838 = 2838; @@ -1972,6 +1973,7 @@ public final class NullObjectID public static final int NULL_4363 = 4363; public static final int NULL_4364 = 4364; public static final int NULL_4365 = 4365; + public static final int NULL_4373 = 4373; public static final int NULL_4374 = 4374; public static final int NULL_4375 = 4375; public static final int NULL_4376 = 4376; @@ -9084,6 +9086,7 @@ public final class NullObjectID public static final int NULL_20092 = 20092; public static final int NULL_20093 = 20093; public static final int NULL_20094 = 20094; + public static final int NULL_20095 = 20095; public static final int NULL_20098 = 20098; public static final int NULL_20118 = 20118; public static final int NULL_20132 = 20132; @@ -18017,5 +18020,23 @@ public final class NullObjectID public static final int NULL_37377 = 37377; public static final int NULL_37378 = 37378; public static final int NULL_37379 = 37379; + public static final int NULL_37393 = 37393; + public static final int NULL_37394 = 37394; + public static final int NULL_37412 = 37412; + public static final int NULL_37413 = 37413; + public static final int NULL_37414 = 37414; + public static final int NULL_37415 = 37415; + public static final int NULL_37416 = 37416; + public static final int NULL_37419 = 37419; + public static final int NULL_37420 = 37420; + public static final int NULL_37423 = 37423; + public static final int NULL_37425 = 37425; + public static final int NULL_37426 = 37426; + public static final int NULL_37427 = 37427; + public static final int NULL_37428 = 37428; + public static final int NULL_37429 = 37429; + public static final int NULL_37430 = 37430; + public static final int NULL_37432 = 37432; + public static final int NULL_37433 = 37433; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/ObjectID.java b/runelite-api/src/main/java/net/runelite/api/ObjectID.java index 983425b442..6f56b79523 100644 --- a/runelite-api/src/main/java/net/runelite/api/ObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/ObjectID.java @@ -1531,7 +1531,6 @@ public final class ObjectID public static final int COUNTER_2792 = 2792; public static final int COUNTER_2793 = 2793; public static final int LEVER_2794 = 2794; - public static final int LEVER_2795 = 2795; public static final int LADDER_2796 = 2796; public static final int LADDER_2797 = 2797; public static final int BUSH_2798 = 2798; @@ -2407,7 +2406,6 @@ public final class ObjectID public static final int SHELF_4370 = 4370; public static final int SHELF_4371 = 4371; public static final int TABLE_4372 = 4372; - public static final int SAND_PIT = 4373; public static final int STANDARD_STAND = 4377; public static final int STANDARD_STAND_4378 = 4378; public static final int IRON_LADDER = 4380; @@ -8470,7 +8468,7 @@ public final class ObjectID public static final int POTTERS_WHEEL_14887 = 14887; public static final int POTTERY_OVEN_14888 = 14888; public static final int SPINNING_WHEEL_14889 = 14889; - public static final int SAND_PIT_14890 = 14890; + public static final int SAND_PIT = 14890; public static final int BED_14891 = 14891; public static final int TIGHTROPE_14892 = 14892; public static final int POLEVAULT = 14894; @@ -11014,7 +11012,6 @@ public final class ObjectID public static final int CITY_GATE_20088 = 20088; public static final int CITY_GATE_20089 = 20089; public static final int CITY_GATE_20090 = 20090; - public static final int OPEN_CHEST_20095 = 20095; public static final int BED_20096 = 20096; public static final int BED_20097 = 20097; public static final int COMPOST_BIN_20099 = 20099; @@ -19361,5 +19358,30 @@ public final class ObjectID public static final int HOUSE_ADVERTISEMENT_37388 = 37388; public static final int HOUSE_ADVERTISEMENT_37389 = 37389; public static final int HOUSE_ADVERTISEMENT_37390 = 37390; + public static final int SAND_PIT_37391 = 37391; + public static final int SAND_PIT_37392 = 37392; + public static final int ROCKSLIDE_37395 = 37395; + public static final int ROCKSLIDE_37396 = 37396; + public static final int BOXES_37397 = 37397; + public static final int BOXES_37398 = 37398; + public static final int BOXES_37399 = 37399; + public static final int SMALL_GEYSER_37400 = 37400; + public static final int SMALL_GEYSER_37401 = 37401; + public static final int LARGE_GEYSER_37402 = 37402; + public static final int LARGE_GEYSER_37403 = 37403; + public static final int FISH_STALL_37404 = 37404; + public static final int FUR_STALL_37405 = 37405; + public static final int FREMENNIK_BOAT_37406 = 37406; + public static final int FREMENNIK_BOAT_37407 = 37407; + public static final int FREMENNIK_BOAT_37408 = 37408; + public static final int CAVE_37409 = 37409; + public static final int CAVE_37410 = 37410; + public static final int STEPS_37411 = 37411; + public static final int STEPS_37417 = 37417; + public static final int STEPS_37418 = 37418; + public static final int DOOR_37421 = 37421; + public static final int DOOR_37422 = 37422; + public static final int THE_JORMUNGAND = 37424; + public static final int ROUGH_WALL_37431 = 37431; /* This file is automatically generated. Do not edit. */ } From cb59bbdaa746242b1e4ceb96fe121dc31f15be20 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Wed, 2 Oct 2019 10:33:47 +0000 Subject: [PATCH 04/17] Update NPC IDs to 2019-10-02-c1-rev182 --- .../src/main/java/net/runelite/api/NpcID.java | 45 +++++++++++++++++-- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/NpcID.java b/runelite-api/src/main/java/net/runelite/api/NpcID.java index 180725881d..e9ee7b41e9 100644 --- a/runelite-api/src/main/java/net/runelite/api/NpcID.java +++ b/runelite-api/src/main/java/net/runelite/api/NpcID.java @@ -3690,7 +3690,6 @@ public final class NpcID public static final int BUTTERFLY_3923 = 3923; public static final int SIGLI_THE_HUNTSMAN = 3924; public static final int SWENSEN_THE_NAVIGATOR = 3925; - public static final int BRUNDT_THE_CHIEFTAIN = 3926; public static final int GUARD_3928 = 3928; public static final int GUARD_3929 = 3929; public static final int TOWN_GUARD_3930 = 3930; @@ -6630,9 +6629,7 @@ public final class NpcID public static final int DOUBLE_AGENT_7312 = 7312; public static final int LISA = 7316; public static final int LISA_7317 = 7317; - public static final int BEAR = 7318; public static final int NESTY = 7321; - public static final int WILD_DOG_7322 = 7322; public static final int FISHING_SPOT_7323 = 7323; public static final int HOLGART_7324 = 7324; public static final int RICK_7327 = 7327; @@ -7251,7 +7248,7 @@ public final class NpcID public static final int SIR_TIFFY_CASHIEN_8045 = 8045; public static final int KING_LATHAS = 8046; public static final int KING_ARTHUR_8047 = 8047; - public static final int BRUNDT_THE_CHIEFTAIN_8048 = 8048; + public static final int BRUNDT_THE_CHIEFTAIN = 8048; public static final int ONEIROMANCER_8049 = 8049; public static final int DENULTH_8050 = 8050; public static final int DUKE_HORACIO_8051 = 8051; @@ -8281,5 +8278,45 @@ public final class NpcID public static final int TOY_MOUSE = 9254; public static final int TOY_MOUSE_9255 = 9255; public static final int PENGUIN_SUIT_9257 = 9257; + public static final int BASILISK_SENTINEL = 9258; + public static final int OSPAK_9259 = 9259; + public static final int STYRMIR_9260 = 9260; + public static final int TORBRUND_9261 = 9261; + public static final int FRIDGEIR_9262 = 9262; + public static final int BRUNDT_THE_CHIEFTAIN_9263 = 9263; + public static final int THORA_THE_BARKEEP_9264 = 9264; + public static final int BRUNDT_THE_CHIEFTAIN_9265 = 9265; + public static final int BRUNDT_THE_CHIEFTAIN_9266 = 9266; + public static final int BRUNDT_THE_CHIEFTAIN_9267 = 9267; + public static final int BRUNDT_THE_CHIEFTAIN_9268 = 9268; + public static final int HASKELL = 9270; + public static final int HASKELL_9271 = 9271; + public static final int HASKELL_9272 = 9272; + public static final int AGNAR_9273 = 9273; + public static final int OLAF_THE_BARD_9274 = 9274; + public static final int MANNI_THE_REVELLER_9275 = 9275; + public static final int FREMENNIK_WARRIOR = 9276; + public static final int FREMENNIK_WARRIOR_9277 = 9277; + public static final int BRUNDT_THE_CHIEFTAIN_9278 = 9278; + public static final int BRUNDT_THE_CHIEFTAIN_9279 = 9279; + public static final int THORVALD_THE_WARRIOR_9280 = 9280; + public static final int KOSCHEI_THE_DEATHLESS_9281 = 9281; + public static final int BASILISK_YOUNGLING = 9282; + public static final int BASILISK_9283 = 9283; + public static final int BASILISK_9284 = 9284; + public static final int BASILISK_9285 = 9285; + public static final int BASILISK_9286 = 9286; + public static final int MONSTROUS_BASILISK_9287 = 9287; + public static final int MONSTROUS_BASILISK_9288 = 9288; + public static final int THE_JORMUNGAND = 9289; + public static final int THE_JORMUNGAND_9290 = 9290; + public static final int THE_JORMUNGAND_9291 = 9291; + public static final int THE_JORMUNGAND_9292 = 9292; + public static final int BASILISK_KNIGHT = 9293; + public static final int BAKUNA = 9294; + public static final int TYPHOR = 9295; + public static final int TYPHOR_9296 = 9296; + public static final int VRITRA = 9297; + public static final int MAZ = 9298; /* This file is automatically generated. Do not edit. */ } From ae23d9ba9945cfbe1981c8dd459a40d04a122771 Mon Sep 17 00:00:00 2001 From: huddy987 Date: Thu, 3 Oct 2019 10:07:27 -0600 Subject: [PATCH 05/17] Add divine potion buy limits --- .../plugins/grandexchange/ge_limits.json | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/grandexchange/ge_limits.json b/runelite-client/src/main/resources/net/runelite/client/plugins/grandexchange/ge_limits.json index ee0666ceb7..d2c98b8457 100644 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/grandexchange/ge_limits.json +++ b/runelite-client/src/main/resources/net/runelite/client/plugins/grandexchange/ge_limits.json @@ -3472,5 +3472,29 @@ "22871": 200, "22877": 200, "22879": 200, - "22935": 12000 + "22935": 12000, + "23685": 2000, + "23688": 2000, + "23691": 2000, + "23694": 2000, + "23697": 2000, + "23700": 2000, + "23703": 2000, + "23706": 2000, + "23709": 2000, + "23712": 2000, + "23715": 2000, + "23718": 2000, + "23721": 2000, + "23724": 2000, + "23727": 2000, + "23730": 2000, + "23733": 2000, + "23736": 2000, + "23739": 2000, + "23742": 2000, + "23745": 2000, + "23748": 2000, + "23751": 2000, + "23754": 2000 } From 7cc1bf36897631ac894428abcd83dd29e9792f52 Mon Sep 17 00:00:00 2001 From: Daniel Bolink Date: Tue, 8 Oct 2019 13:24:46 -0700 Subject: [PATCH 06/17] Add Elf Cannon Spot in Priff --- .../java/net/runelite/client/plugins/cannon/CannonSpots.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java index ea145942ac..2cd9a03ae4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java @@ -38,7 +38,7 @@ public enum CannonSpots ABERRANT_SPECTRES(new WorldPoint(2456, 9791, 0)), HELLHOUNDS(new WorldPoint(2431, 9776, 0), new WorldPoint(2413, 9786, 0), new WorldPoint(2783, 9686, 0), new WorldPoint(3198, 10071, 0)), BLACK_DEMONS(new WorldPoint(2859, 9778, 0), new WorldPoint(2841, 9791, 0)), - ELVES(new WorldPoint(2044, 4635, 0)), + ELVES(new WorldPoint(2044, 4635, 0), new WorldPoint(3278, 6098, 0)), SUQAHS(new WorldPoint(2114, 3943, 0)), TROLLS(new WorldPoint(2401, 3856, 0)), GREATER_DEMONS(new WorldPoint(1435, 10086, 2)), From 019ed814ea41fdf9250d02c71cc42d8c91b17e1e Mon Sep 17 00:00:00 2001 From: dekvall Date: Mon, 7 Oct 2019 01:46:03 +0200 Subject: [PATCH 07/17] item identification: show identifier for placeholders and noted items --- .../ItemIdentificationOverlay.java | 14 +++++++++++--- .../ItemIdentificationPlugin.java | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationOverlay.java index 4089af6027..341cd1c306 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationOverlay.java @@ -34,6 +34,7 @@ import static net.runelite.api.widgets.WidgetID.LOOTING_BAG_GROUP_ID; import static net.runelite.api.widgets.WidgetID.SEED_BOX_GROUP_ID; import static net.runelite.api.widgets.WidgetID.KINGDOM_GROUP_ID; import net.runelite.api.widgets.WidgetItem; +import net.runelite.client.game.ItemManager; import net.runelite.client.ui.FontManager; import net.runelite.client.ui.overlay.WidgetItemOverlay; import net.runelite.client.ui.overlay.components.TextComponent; @@ -41,11 +42,13 @@ import net.runelite.client.ui.overlay.components.TextComponent; class ItemIdentificationOverlay extends WidgetItemOverlay { private final ItemIdentificationConfig config; + private final ItemManager itemManager; @Inject - ItemIdentificationOverlay(ItemIdentificationConfig config) + ItemIdentificationOverlay(ItemIdentificationConfig config, ItemManager itemManager) { this.config = config; + this.itemManager = itemManager; showOnInventory(); showOnBank(); showOnInterfaces(KEPT_ON_DEATH_GROUP_ID, GUIDE_PRICE_GROUP_ID, LOOTING_BAG_GROUP_ID, SEED_BOX_GROUP_ID, KINGDOM_GROUP_ID); @@ -54,7 +57,7 @@ class ItemIdentificationOverlay extends WidgetItemOverlay @Override public void renderItemOverlay(Graphics2D graphics, int itemId, WidgetItem itemWidget) { - ItemIdentification iden = ItemIdentification.get(itemId); + ItemIdentification iden = findItemIdentification(itemId); if (iden == null) { return; @@ -96,7 +99,6 @@ class ItemIdentificationOverlay extends WidgetItemOverlay graphics.setFont(FontManager.getRunescapeSmallFont()); renderText(graphics, itemWidget.getCanvasBounds(), iden); - } private void renderText(Graphics2D graphics, Rectangle bounds, ItemIdentification iden) @@ -115,4 +117,10 @@ class ItemIdentificationOverlay extends WidgetItemOverlay } textComponent.render(graphics); } + + private ItemIdentification findItemIdentification(final int itemID) + { + final int realItemId = itemManager.canonicalize(itemID); + return ItemIdentification.get(realItemId); + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationPlugin.java index 6e4f331765..1eb4158076 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationPlugin.java @@ -61,4 +61,4 @@ public class ItemIdentificationPlugin extends Plugin { overlayManager.remove(overlay); } -} \ No newline at end of file +} From d2901c426da7a588df2972fae5ed4db2531e9843 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 5 Sep 2019 11:14:19 +0100 Subject: [PATCH 08/17] skillcalc: add Broodoo shield --- .../client/plugins/skillcalculator/skill_crafting.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_crafting.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_crafting.json index db9262a7d1..963c56f382 100644 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_crafting.json +++ b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_crafting.json @@ -313,6 +313,12 @@ "name": "Jade Amulet (U)", "xp": 70 }, + { + "level": 35, + "icon": 6235, + "name": "Broodoo shield", + "xp": 100 + }, { "level": 36, "icon": 5376, From 36b69342e5124f69f772a50eb58037d666bab1cf Mon Sep 17 00:00:00 2001 From: Krysaczek Date: Fri, 6 Sep 2019 22:21:15 +0200 Subject: [PATCH 09/17] Add Spears and Hastae smithing to Skill calculator --- .../skillcalculator/skill_smithing.json | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_smithing.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_smithing.json index f5eef0a04b..adce0a7faf 100644 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_smithing.json +++ b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_smithing.json @@ -72,6 +72,18 @@ "name": "Bronze Scimitar", "xp": 25 }, + { + "level": 5, + "icon": 11367, + "name": "Bronze Hasta", + "xp": 25 + }, + { + "level": 5, + "icon": 1237, + "name": "Bronze Spear", + "xp": 25 + }, { "level": 6, "icon": 19570, @@ -240,6 +252,18 @@ "name": "Iron Scimitar", "xp": 50 }, + { + "level": 20, + "icon": 11369, + "name": "Iron Hasta", + "xp": 50 + }, + { + "level": 20, + "icon": 1239, + "name": "Iron Spear", + "xp": 50 + }, { "level": 21, "icon": 1293, @@ -408,6 +432,18 @@ "name": "Steel Arrowtips", "xp": 37.5 }, + { + "level": 35, + "icon": 11371, + "name": "Steel Hasta", + "xp": 75 + }, + { + "level": 35, + "icon": 1241, + "name": "Steel Spear", + "xp": 75 + }, { "level": 36, "icon": 9425, @@ -588,6 +624,18 @@ "name": "Mithril Scimitar", "xp": 100 }, + { + "level": 55, + "icon": 11373, + "name": "Mithril Hasta", + "xp": 100 + }, + { + "level": 55, + "icon": 1243, + "name": "Mithril Spear", + "xp": 100 + }, { "level": 56, "icon": 1299, @@ -756,6 +804,18 @@ "name": "Adamant Scimitar", "xp": 125 }, + { + "level": 75, + "icon": 11375, + "name": "Adamant Hasta", + "xp": 125 + }, + { + "level": 75, + "icon": 1245, + "name": "Adamant Spear", + "xp": 125 + }, { "level": 76, "icon": 9429, @@ -912,6 +972,18 @@ "name": "Rune Scimitar", "xp": 150 }, + { + "level": 90, + "icon": 11377, + "name": "Rune Hasta", + "xp": 150 + }, + { + "level": 90, + "icon": 1247, + "name": "Rune Spear", + "xp": 150 + }, { "level": 90, "icon": 11283, From 6583aa41710d2ae8eb5c65364d6c433203e42fd8 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Thu, 3 Oct 2019 00:31:22 -0600 Subject: [PATCH 10/17] prayer: Use ItemStats for prayer bonuses --- .../client/plugins/prayer/PrayerItems.java | 476 ------------------ .../client/plugins/prayer/PrayerPlugin.java | 12 +- 2 files changed, 10 insertions(+), 478 deletions(-) delete mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerItems.java diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerItems.java b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerItems.java deleted file mode 100644 index d07ff8cf6c..0000000000 --- a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerItems.java +++ /dev/null @@ -1,476 +0,0 @@ -/* - * Copyright (c) 2018, Ethan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package net.runelite.client.plugins.prayer; - -import com.google.common.collect.ImmutableMap; -import java.util.Map; -import lombok.AllArgsConstructor; -import lombok.Getter; -import net.runelite.api.ItemID; - -@AllArgsConstructor -@Getter -enum PrayerItems -{ - // Blessings - PEACEFUL_BLESSING(ItemID.PEACEFUL_BLESSING, 1), - HOLY_BLESSING(ItemID.HOLY_BLESSING, 1), - UNHOLY_BLESSING(ItemID.UNHOLY_BLESSING, 1), - ANCIENT_BLESSING(ItemID.ANCIENT_BLESSING, 1), - HONOURABLE_BLESSING(ItemID.HONOURABLE_BLESSING, 1), - WAR_BLESSING(ItemID.WAR_BLESSING, 1), - RADAS_BLESSING_2(ItemID.RADAS_BLESSING_2, 1), - RADAS_BLESSING_3(ItemID.RADAS_BLESSING_3, 1), - RADAS_BLESSING_4(ItemID.RADAS_BLESSING_4, 2), - - // Rings - EXPLORERS_RING(ItemID.EXPLORERS_RING, 1), - EXPLORERS_RING_1(ItemID.EXPLORERS_RING_1, 1), - EXPLORERS_RING_2(ItemID.EXPLORERS_RING_2, 1), - EXPLORERS_RING_3(ItemID.EXPLORERS_RING_3, 1), - EXPLORERS_RING_4(ItemID.EXPLORERS_RING_4, 1), - RING_OF_SUFFERING(ItemID.RING_OF_SUFFERING, 2), - RING_OF_SUFFERING_R(ItemID.RING_OF_SUFFERING_R, 2), - RING_OF_SUFFERING_I(ItemID.RING_OF_SUFFERING_I, 4), - RING_OF_SUFFERING_RI(ItemID.RING_OF_SUFFERING_RI, 4), - RING_OF_THE_GODS(ItemID.RING_OF_THE_GODS, 4), - RING_OF_THE_GODS_I(ItemID.RING_OF_THE_GODS_I, 8), - - // Necklaces - AMULET_OF_POWER(ItemID.AMULET_OF_POWER, 1), - BEADS_OF_THE_DEAD(ItemID.BEADS_OF_THE_DEAD, 1), - OCCULT_NECKLACE(ItemID.OCCULT_NECKLACE, 2), - OCCULT_NECKLACE_OR(ItemID.OCCULT_NECKLACE_OR, 2), - AMULET_OF_TORTURE(ItemID.AMULET_OF_TORTURE, 2), - AMULET_OF_TORTURE_OR(ItemID.AMULET_OF_TORTURE_OR, 2), - NECKLACE_OF_ANGUISH(ItemID.NECKLACE_OF_ANGUISH, 2), - NECKLACE_OF_ANGUISH_OR(ItemID.NECKLACE_OF_ANGUISH_OR, 2), - AMULET_OF_GLORY(ItemID.AMULET_OF_GLORY, 3), - AMULET_OF_GLORY1(ItemID.AMULET_OF_GLORY1, 3), - AMULET_OF_GLORY2(ItemID.AMULET_OF_GLORY2, 3), - AMULET_OF_GLORY3(ItemID.AMULET_OF_GLORY3, 3), - AMULET_OF_GLORY4(ItemID.AMULET_OF_GLORY4, 3), - AMULET_OF_GLORY5(ItemID.AMULET_OF_GLORY5, 3), - AMULET_OF_GLORY6(ItemID.AMULET_OF_GLORY6, 3), - AMULET_OF_GLORY_T(ItemID.AMULET_OF_GLORY_T, 3), - AMULET_OF_GLORY_T1(ItemID.AMULET_OF_GLORY_T1, 3), - AMULET_OF_GLORY_T2(ItemID.AMULET_OF_GLORY_T2, 3), - AMULET_OF_GLORY_T3(ItemID.AMULET_OF_GLORY_T3, 3), - AMULET_OF_GLORY_T4(ItemID.AMULET_OF_GLORY_T4, 3), - AMULET_OF_GLORY_T5(ItemID.AMULET_OF_GLORY_T5, 3), - AMULET_OF_GLORY_T6(ItemID.AMULET_OF_GLORY_T6, 3), - AMULET_OF_ETERNAL_GLORY(ItemID.AMULET_OF_ETERNAL_GLORY, 3), - AMULET_OF_GLORY_8283(ItemID.AMULET_OF_GLORY_8283, 3), - AMULET_OF_GLORY_20586(ItemID.AMULET_OF_GLORY_20586, 3), - AMULET_OF_GLORY_T_10719(ItemID.AMULET_OF_GLORY_T_10719, 3), - BERSERKER_NECKLACE(ItemID.BERSERKER_NECKLACE, 3), - SALVE_AMULET(ItemID.SALVE_AMULET, 3), - SALVE_AMULET_E(ItemID.SALVE_AMULET_E, 3), - SALVE_AMULETEI(ItemID.SALVE_AMULETEI, 3), - SALVE_AMULETI(ItemID.SALVE_AMULETI, 3), - AMULET_OF_FURY(ItemID.AMULET_OF_FURY, 5), - AMULET_OF_FURY_OR(ItemID.AMULET_OF_FURY_OR, 5), - HOLY_SYMBOL(ItemID.HOLY_SYMBOL, 8), - HOLY_SYMBOL_4682(ItemID.HOLY_SYMBOL_4682, 8), - UNHOLY_SYMBOL(ItemID.UNHOLY_SYMBOL, 8), - UNHOLY_SYMBOL_4683(ItemID.UNHOLY_SYMBOL_4683, 8), - ANCIENT_STOLE(ItemID.ANCIENT_STOLE, 10), - ARMADYL_STOLE(ItemID.ARMADYL_STOLE, 10), - BANDOS_STOLE(ItemID.BANDOS_STOLE, 10), - GUTHIX_STOLE(ItemID.GUTHIX_STOLE, 10), - SARADOMIN_STOLE(ItemID.SARADOMIN_STOLE, 10), - ZAMORAK_STOLE(ItemID.ZAMORAK_STOLE, 10), - DRAGONBONE_NECKLACE(ItemID.DRAGONBONE_NECKLACE, 12), - BONECRUSHER_NECKLACE(ItemID.BONECRUSHER_NECKLACE, 12), - - // Helmet - ARMADYL_HELMET(ItemID.ARMADYL_HELMET, 1), - ANCIENT_COIF(ItemID.ANCIENT_COIF, 1), - ARMADYL_COIF(ItemID.ARMADYL_COIF, 1), - BANDOS_COIF(ItemID.BANDOS_COIF, 1), - GUTHIX_COIF(ItemID.GUTHIX_COIF, 1), - SARADOMIN_COIF(ItemID.SARADOMIN_COIF, 1), - ZAMORAK_COIF(ItemID.ZAMORAK_COIF, 1), - WHITE_FULL_HELM(ItemID.WHITE_FULL_HELM, 1), - WHITE_MED_HELM(ItemID.WHITE_MED_HELM, 1), - ANCIENT_FULL_HELM(ItemID.ANCIENT_FULL_HELM, 1), - ARMADYL_FULL_HELM(ItemID.ARMADYL_FULL_HELM, 1), - BANDOS_FULL_HELM(ItemID.BANDOS_FULL_HELM, 1), - GUTHIX_FULL_HELM(ItemID.GUTHIX_FULL_HELM, 1), - SARADOMIN_FULL_HELM(ItemID.SARADOMIN_FULL_HELM, 1), - ZAMORAK_FULL_HELM(ItemID.ZAMORAK_FULL_HELM, 1), - HELM_OF_NEITIZNOT(ItemID.HELM_OF_NEITIZNOT, 3), - INITIATE_SALLET(ItemID.INITIATE_SALLET, 3), - VERACS_HELM(ItemID.VERACS_HELM, 3), - VERACS_HELM_0(ItemID.VERACS_HELM_0, 3), - VERACS_HELM_25(ItemID.VERACS_HELM_25, 3), - VERACS_HELM_50(ItemID.VERACS_HELM_50, 3), - VERACS_HELM_75(ItemID.VERACS_HELM_75, 3), - VERACS_HELM_100(ItemID.VERACS_HELM_100, 3), - GUTHIX_HALO(ItemID.GUTHIX_HALO, 3), - SARADOMIN_HALO(ItemID.SARADOMIN_HALO, 3), - ZAMORAK_HALO(ItemID.ZAMORAK_HALO, 3), - PROSELYTE_SALLET(ItemID.PROSELYTE_SALLET, 4), - PROSELYTE_SALLET_20563(ItemID.PROSELYTE_SALLET_20563, 4), - ANCIENT_MITRE(ItemID.ANCIENT_MITRE, 5), - ARMADYL_MITRE(ItemID.ARMADYL_MITRE, 5), - BANDOS_MITRE(ItemID.BANDOS_MITRE, 5), - GUTHIX_MITRE(ItemID.GUTHIX_MITRE, 5), - SARADOMIN_MITRE(ItemID.SARADOMIN_MITRE, 5), - ZAMORAK_MITRE(ItemID.ZAMORAK_MITRE, 5), - JUSTICIAR_FACEGUARD(ItemID.JUSTICIAR_FACEGUARD, 2), - - // Body - ARMADYL_CHESTPLATE(ItemID.ARMADYL_CHESTPLATE, 1), - BANDOS_CHESTPLATE(ItemID.BANDOS_CHESTPLATE, 1), - ANCIENT_DHIDE(ItemID.ANCIENT_DHIDE, 1), - ARMADYL_DHIDE(ItemID.ARMADYL_DHIDE, 1), - BANDOS_DHIDE(ItemID.BANDOS_DHIDE, 1), - GUTHIX_DRAGONHIDE(ItemID.GUTHIX_DHIDE, 1), - GUTHIX_DRAGONHIDE_10794(ItemID.GUTHIX_DRAGONHIDE, 1), - SARADOMIN_DHIDE(ItemID.SARADOMIN_DHIDE, 1), - SARADOMIN_DHIDE_10792(ItemID.SARADOMIN_DHIDE_10792, 1), - ZAMORAK_DHIDE(ItemID.ZAMORAK_DHIDE, 1), - ZAMORAK_DHIDE_10790(ItemID.ZAMORAK_DHIDE_10790, 1), - WHITE_PLATEBODY(ItemID.WHITE_PLATEBODY, 1), - WHITE_PLATEBODY_10618(ItemID.WHITE_PLATEBODY_10618, 1), - WHITE_CHAINBODY(ItemID.WHITE_CHAINBODY, 1), - ANCIENT_PLATEBODY(ItemID.ANCIENT_PLATEBODY, 1), - ARMADYL_PLATEBODY(ItemID.ARMADYL_PLATEBODY, 1), - BANDOS_PLATEBODY(ItemID.BANDOS_PLATEBODY, 1), - GUTHIX_PLATEBODY(ItemID.GUTHIX_PLATEBODY, 1), - GUTHIX_PLATEBODY_10780(ItemID.GUTHIX_PLATEBODY_10780, 1), - SARADOMIN_PLATEBODY(ItemID.SARADOMIN_PLATEBODY, 1), - ZAMORAK_PLATEBODY(ItemID.ZAMORAK_PLATEBODY, 1), - ZAMORAK_PLATEBODY_10776(ItemID.ZAMORAK_PLATEBODY_10776, 1), - ZAMORAK_ROBE_1035(ItemID.ZAMORAK_MONK_TOP, 3), - ELITE_VOID_TOP(ItemID.ELITE_VOID_TOP, 3), - ELITE_VOID_TOP_BROKEN(ItemID.ELITE_VOID_TOP_BROKEN, 3), - PRIEST_GOWN(ItemID.PRIEST_GOWN, 3), - DRUIDS_ROBE_TOP(ItemID.DRUIDS_ROBE_TOP, 4), - VERACS_BRASSARD(ItemID.VERACS_BRASSARD, 5), - VERACS_BRASSARD_0(ItemID.VERACS_BRASSARD_0, 5), - VERACS_BRASSARD_25(ItemID.VERACS_BRASSARD_25, 5), - VERACS_BRASSARD_50(ItemID.VERACS_BRASSARD_50, 5), - VERACS_BRASSARD_75(ItemID.VERACS_BRASSARD_75, 5), - VERACS_BRASSARD_100(ItemID.VERACS_BRASSARD_100, 5), - SHADE_ROBE_TOP(ItemID.SHADE_ROBE_TOP, 5), - MONKS_ROBE_TOP(ItemID.MONKS_ROBE_TOP, 6), - MONKS_ROBE_TOP_G(ItemID.MONKS_ROBE_TOP_G, 6), - INITIATE_HAUBERK(ItemID.INITIATE_HAUBERK, 6), - INITIATE_HAUBERK_10619(ItemID.INITIATE_HAUBERK_10619, 6), - ANCIENT_ROBE_TOP(ItemID.ANCIENT_ROBE_TOP, 6), - ARMADYL_ROBE_TOP(ItemID.ARMADYL_ROBE_TOP, 6), - BANDOS_ROBE_TOP(ItemID.BANDOS_ROBE_TOP, 6), - GUTHIX_ROBE_TOP(ItemID.GUTHIX_ROBE_TOP, 6), - SARADOMIN_ROBE_TOP(ItemID.SARADOMIN_ROBE_TOP, 6), - ZAMORAK_ROBE_TOP(ItemID.ZAMORAK_ROBE_TOP, 6), - PROSELYTE_HAUBERK(ItemID.PROSELYTE_HAUBERK, 8), - PROSELYTE_HAUBERK_10620(ItemID.PROSELYTE_HAUBERK_10620, 8), - PROSELYTE_HAUBERK_20564(ItemID.PROSELYTE_HAUBERK_20564, 8), - JUSTICIAR_CHESTGUARD(ItemID.JUSTICIAR_CHESTGUARD, 4), - - // Legs - ARMADYL_CHAINSKIRT(ItemID.ARMADYL_CHAINSKIRT, 1), - BANDOS_TASSETS(ItemID.BANDOS_TASSETS, 1), - ANCIENT_CHAPS(ItemID.ANCIENT_CHAPS, 1), - ARMADYL_CHAPS(ItemID.ARMADYL_CHAPS, 1), - BANDOS_CHAPS(ItemID.BANDOS_CHAPS, 1), - GUTHIX_CHAPS(ItemID.GUTHIX_CHAPS, 1), - SARADOMIN_CHAPS(ItemID.SARADOMIN_CHAPS, 1), - ZAMORAK_CHAPS(ItemID.ZAMORAK_CHAPS, 1), - WHITE_PLATELEGS(ItemID.WHITE_PLATELEGS, 1), - WHITE_PLATESKIRT(ItemID.WHITE_PLATESKIRT, 1), - ANCIENT_PLATELEGS(ItemID.ANCIENT_PLATELEGS, 1), - ANCIENT_PLATESKIRT(ItemID.ANCIENT_PLATESKIRT, 1), - ARMADYL_PLATELEGS(ItemID.ARMADYL_PLATELEGS, 1), - ARMADYL_PLATESKIRT(ItemID.ARMADYL_PLATESKIRT, 1), - BANDOS_PLATELEGS(ItemID.BANDOS_PLATELEGS, 1), - BANDOS_PLATESKIRT(ItemID.BANDOS_PLATESKIRT, 1), - GUTHIX_PLATELEGS(ItemID.GUTHIX_PLATELEGS, 1), - GUTHIX_PLATESKIRT(ItemID.GUTHIX_PLATESKIRT, 1), - SARADOMIN_PLATELEGS(ItemID.SARADOMIN_PLATELEGS, 1), - SARADOMIN_PLATESKIRT(ItemID.SARADOMIN_PLATESKIRT, 1), - ZAMORAK_PLATELEGS(ItemID.ZAMORAK_PLATELEGS, 1), - ZAMORAK_PLATESKIRT(ItemID.ZAMORAK_PLATESKIRT, 1), - ZAMORAK_ROBE(ItemID.ZAMORAK_MONK_BOTTOM, 3), - ELITE_VOID_ROBE(ItemID.ELITE_VOID_ROBE, 3), - ELITE_VOID_ROBE_BROKEN(ItemID.ELITE_VOID_ROBE_BROKEN, 3), - PRIEST_GOWN_428(ItemID.PRIEST_GOWN_428, 3), - DRUIDS_ROBE(ItemID.DRUIDS_ROBE, 4), - SHADE_ROBE(ItemID.SHADE_ROBE, 4), - VERACS_PLATESKIRT(ItemID.VERACS_PLATESKIRT, 4), - VERACS_PLATESKIRT_0(ItemID.VERACS_PLATESKIRT_0, 4), - VERACS_PLATESKIRT_25(ItemID.VERACS_PLATESKIRT_25, 4), - VERACS_PLATESKIRT_50(ItemID.VERACS_PLATESKIRT_50, 4), - VERACS_PLATESKIRT_75(ItemID.VERACS_PLATESKIRT_75, 4), - VERACS_PLATESKIRT_100(ItemID.VERACS_PLATESKIRT_100, 4), - MONKS_ROBE(ItemID.MONKS_ROBE, 5), - MONKS_ROBE_G(ItemID.MONKS_ROBE_G, 5), - INITIATE_CUISSE(ItemID.INITIATE_CUISSE, 5), - ANCIENT_ROBE_LEGS(ItemID.ANCIENT_ROBE_LEGS, 5), - ARMADYL_ROBE_LEGS(ItemID.ARMADYL_ROBE_LEGS, 5), - BANDOS_ROBE_LEGS(ItemID.BANDOS_ROBE_LEGS, 5), - GUTHIX_ROBE_LEGS(ItemID.GUTHIX_ROBE_LEGS, 5), - SARADOMIN_ROBE_LEGS(ItemID.SARADOMIN_ROBE_LEGS, 5), - ZAMORAK_ROBE_LEGS(ItemID.ZAMORAK_ROBE_LEGS, 5), - PROSELYTE_CUISSE(ItemID.PROSELYTE_CUISSE, 6), - PROSELYTE_CUISSE_20565(ItemID.PROSELYTE_CUISSE_20565, 6), - PROSELYTE_TASSET(ItemID.PROSELYTE_TASSET, 6), - JUSTICIAR_LEGGUARDS(ItemID.JUSTICIAR_LEGGUARDS, 4), - - // Boots - BANDOS_BOOTS(ItemID.BANDOS_BOOTS, 1), - WHITE_BOOTS(ItemID.WHITE_BOOTS, 1), - ANCIENT_DHIDE_BOOTS(ItemID.ANCIENT_DHIDE_BOOTS, 1), - ARMADYL_DHIDE_BOOTS(ItemID.ARMADYL_DHIDE_BOOTS, 1), - BANDOS_DHIDE_BOOTS(ItemID.BANDOS_DHIDE_BOOTS, 1), - GUTHIX_DHIDE_BOOTS(ItemID.GUTHIX_DHIDE_BOOTS, 1), - SARADOMIN_DHIDE_BOOTS(ItemID.SARADOMIN_DHIDE_BOOTS, 1), - ZAMORAK_DHIDE_BOOTS(ItemID.ZAMORAK_DHIDE_BOOTS, 1), - GUARDIAN_BOOTS(ItemID.GUARDIAN_BOOTS, 2), - HOLY_SANDALS(ItemID.HOLY_SANDALS, 3), - DEVOUT_BOOTS(ItemID.DEVOUT_BOOTS, 5), - - // Gloves - ANCIENT_BRACERS(ItemID.ANCIENT_BRACERS, 1), - ARMADYL_BRACERS(ItemID.ARMADYL_BRACERS, 1), - BANDOS_BRACERS(ItemID.BANDOS_BRACERS, 1), - GUTHIX_BRACERS(ItemID.GUTHIX_BRACERS, 1), - SARADOMIN_BRACERS(ItemID.SARADOMIN_BRACERS, 1), - ZAMORAK_BRACERS(ItemID.ZAMORAK_BRACERS, 1), - WHITE_GLOVES(ItemID.WHITE_GLOVES, 1), - TORMENTED_BRACELET(ItemID.TORMENTED_BRACELET, 2), - HOLY_WRAPS(ItemID.HOLY_WRAPS, 3), - - // Capes - MYTHICAL_CAPE(ItemID.MYTHICAL_CAPE, 1), - MYTHICAL_CAPE_22114(ItemID.MYTHICAL_CAPE_22114, 1), - FIRE_CAPE(ItemID.FIRE_CAPE, 2), - FIRE_CAPE_10566(ItemID.FIRE_CAPE_10566, 2), - FIRE_CAPE_10637(ItemID.FIRE_CAPE_10637, 2), - FIRE_CAPE_BROKEN(ItemID.FIRE_CAPE_BROKEN, 2), - INFERNAL_CAPE(ItemID.INFERNAL_CAPE, 2), - INFERNAL_CAPE_21297(ItemID.INFERNAL_CAPE_21297, 2), - INFERNAL_CAPE_BROKEN(ItemID.INFERNAL_CAPE_BROKEN, 2), - ARDOUGNE_CLOAK_1(ItemID.ARDOUGNE_CLOAK_1, 2), - ANCIENT_CLOAK(ItemID.ANCIENT_CLOAK, 3), - ARMADYL_CLOAK(ItemID.ARMADYL_CLOAK, 3), - BANDOS_CLOAK(ItemID.BANDOS_CLOAK, 3), - GUTHIX_CLOAK(ItemID.GUTHIX_CLOAK, 3), - SARADOMIN_CLOAK(ItemID.SARADOMIN_CLOAK, 3), - ZAMORAK_CLOAK(ItemID.ZAMORAK_CLOAK, 3), - ATTACK_CAPET(ItemID.ATTACK_CAPET, 4), - STRENGTH_CAPET(ItemID.STRENGTH_CAPET, 4), - DEFENCE_CAPET(ItemID.DEFENCE_CAPET, 4), - RANGING_CAPET(ItemID.RANGING_CAPET, 4), - PRAYER_CAPET(ItemID.PRAYER_CAPET, 4), - MAGIC_CAPET(ItemID.MAGIC_CAPET, 4), - RUNECRAFT_CAPET(ItemID.RUNECRAFT_CAPET, 4), - CONSTRUCT_CAPET(ItemID.CONSTRUCT_CAPET, 4), - HITPOINTS_CAPET(ItemID.HITPOINTS_CAPET, 4), - AGILITY_CAPET(ItemID.AGILITY_CAPET, 4), - HERBLORE_CAPET(ItemID.HERBLORE_CAPET, 4), - THIEVING_CAPET(ItemID.THIEVING_CAPET, 4), - CRAFTING_CAPET(ItemID.CRAFTING_CAPET, 4), - FLETCHING_CAPET(ItemID.FLETCHING_CAPET, 4), - SLAYER_CAPET(ItemID.SLAYER_CAPET, 4), - HUNTER_CAPET(ItemID.HUNTER_CAPET, 4), - MINING_CAPET(ItemID.MINING_CAPET, 4), - SMITHING_CAPET(ItemID.SMITHING_CAPET, 4), - FISHING_CAPET(ItemID.FISHING_CAPET, 4), - COOKING_CAPET(ItemID.COOKING_CAPET, 4), - FIREMAKING_CAPET(ItemID.FIREMAKING_CAPET, 4), - WOODCUT_CAPET(ItemID.WOODCUT_CAPET, 4), - FARMING_CAPET(ItemID.FARMING_CAPET, 4), - QUEST_POINT_CAPE_T(ItemID.QUEST_POINT_CAPE_T, 4), - MUSIC_CAPET(ItemID.MUSIC_CAPET, 4), - ACHIEVEMENT_DIARY_CAPE(ItemID.ACHIEVEMENT_DIARY_CAPE, 4), - ACHIEVEMENT_DIARY_CAPE_T(ItemID.ACHIEVEMENT_DIARY_CAPE_T, 4), - MAX_CAPE(ItemID.MAX_CAPE, 4), - MAX_CAPE_13282(ItemID.MAX_CAPE_13282, 4), - MAX_CAPE_13342(ItemID.MAX_CAPE_13342, 4), - ACCUMULATOR_MAX_CAPE(ItemID.ACCUMULATOR_MAX_CAPE, 4), - ARDOUGNE_MAX_CAPE(ItemID.ARDOUGNE_MAX_CAPE, 4), - ASSEMBLER_MAX_CAPE(ItemID.ASSEMBLER_MAX_CAPE, 4), - ASSEMBLER_MAX_CAPE_BROKEN(ItemID.ASSEMBLER_MAX_CAPE_BROKEN, 4), - INFERNAL_MAX_CAPE(ItemID.INFERNAL_MAX_CAPE, 4), - INFERNAL_MAX_CAPE_21285(ItemID.INFERNAL_MAX_CAPE_21285, 4), - INFERNAL_MAX_CAPE_BROKEN(ItemID.INFERNAL_MAX_CAPE_BROKEN, 4), - FIRE_MAX_CAPE(ItemID.FIRE_MAX_CAPE, 4), - FIRE_MAX_CAPE_21186(ItemID.FIRE_MAX_CAPE_21186, 4), - FIRE_MAX_CAPE_BROKEN(ItemID.FIRE_MAX_CAPE_BROKEN, 4), - GUTHIX_MAX_CAPE(ItemID.GUTHIX_MAX_CAPE, 4), - IMBUED_GUTHIX_MAX_CAPE(ItemID.IMBUED_GUTHIX_MAX_CAPE, 4), - SARADOMIN_MAX_CAPE(ItemID.SARADOMIN_MAX_CAPE, 4), - IMBUED_SARADOMIN_MAX_CAPE(ItemID.IMBUED_SARADOMIN_MAX_CAPE, 4), - ZAMORAK_MAX_CAPE(ItemID.ZAMORAK_MAX_CAPE, 4), - IMBUED_ZAMORAK_MAX_CAPE(ItemID.IMBUED_ZAMORAK_MAX_CAPE, 4), - ARDOUGNE_CLOAK_2(ItemID.ARDOUGNE_CLOAK_2, 4), - ARDOUGNE_CLOAK_3(ItemID.ARDOUGNE_CLOAK_3, 5), - _3RD_AGE_CLOAK(ItemID._3RD_AGE_CLOAK, 5), - ARDOUGNE_CLOAK_4(ItemID.ARDOUGNE_CLOAK_4, 6), - - // Weapons - ANCIENT_STAFF(ItemID.ANCIENT_STAFF, -1), - ARMADYL_CROSSBOW(ItemID.ARMADYL_CROSSBOW, 1), - BRONZE_MACE(ItemID.BRONZE_MACE, 1), - IRON_MACE(ItemID.IRON_MACE, 1), - WHITE_DAGGER(ItemID.WHITE_DAGGER, 1), - WHITE_SCIMITAR(ItemID.WHITE_SCIMITAR, 1), - WHITE_CLAWS(ItemID.WHITE_CLAWS, 1), - WHITE_SWORD(ItemID.WHITE_SWORD, 1), - WHITE_LONGSWORD(ItemID.WHITE_LONGSWORD, 1), - WHITE_BATTLEAXE(ItemID.WHITE_BATTLEAXE, 1), - WHITE_WARHAMMER(ItemID.WHITE_WARHAMMER, 1), - WHITE_2H_SWORD(ItemID.WHITE_2H_SWORD, 1), - WHITE_HALBERD(ItemID.WHITE_HALBERD, 1), - WHITE_MAGIC_STAFF(ItemID.WHITE_MAGIC_STAFF, 1), - SARADOMIN_SWORD(ItemID.SARADOMIN_SWORD, 2), - SARADOMINS_BLESSED_SWORD(ItemID.SARADOMINS_BLESSED_SWORD, 2), - STEEL_MACE(ItemID.STEEL_MACE, 2), - BLACK_MACE(ItemID.BLACK_MACE, 2), - ZAMORAKIAN_SPEAR(ItemID.ZAMORAKIAN_SPEAR, 2), - ZAMORAKIAN_HASTA(ItemID.ZAMORAKIAN_HASTA, 2), - ADAMANT_MACE(ItemID.ADAMANT_MACE, 3), - ANCIENT_MACE(ItemID.ANCIENT_MACE, 3), - MITHRIL_MACE(ItemID.MITHRIL_MACE, 3), - WHITE_MACE(ItemID.WHITE_MACE, 3), - LUNAR_STAFF(ItemID.LUNAR_STAFF, 3), - RUNE_MACE(ItemID.RUNE_MACE, 4), - ROLLING_PIN(ItemID.ROLLING_PIN, 4), - TWISTED_BOW(ItemID.TWISTED_BOW, 4), - DRAGON_MACE(ItemID.DRAGON_MACE, 5), - WOLFBANE(ItemID.WOLFBANE, 5), - SILVER_SICKLEB(ItemID.SILVER_SICKLE_B, 5), - TOKTZMEJTAL(ItemID.TOKTZMEJTAL, 5), - IVANDIS_FLAIL(ItemID.IVANDIS_FLAIL, 5), - ANCIENT_CROZIER(ItemID.ANCIENT_CROZIER, 6), - ARMADYL_CROZIER(ItemID.ARMADYL_CROZIER, 6), - BANDOS_CROZIER(ItemID.BANDOS_CROZIER, 6), - GUTHIX_CROZIER(ItemID.GUTHIX_CROZIER, 6), - SARADOMIN_CROZIER(ItemID.SARADOMIN_CROZIER, 6), - ZAMORAK_CROZIER(ItemID.ZAMORAK_CROZIER, 6), - VERACS_FLAIL(ItemID.VERACS_FLAIL, 6), - VERACS_FLAIL_0(ItemID.VERACS_FLAIL_0, 6), - VERACS_FLAIL_25(ItemID.VERACS_FLAIL_25, 6), - VERACS_FLAIL_50(ItemID.VERACS_FLAIL_50, 6), - VERACS_FLAIL_75(ItemID.VERACS_FLAIL_75, 6), - VERACS_FLAIL_100(ItemID.VERACS_FLAIL_100, 6), - VOID_KNIGHT_MACE(ItemID.VOID_KNIGHT_MACE, 6), - VOID_KNIGHT_MACE_BROKEN(ItemID.VOID_KNIGHT_MACE_BROKEN, 6), - BANDOS_GODSWORD(ItemID.BANDOS_GODSWORD, 8), - BANDOS_GODSWORD_OR(ItemID.BANDOS_GODSWORD_OR, 8), - BANDOS_GODSWORD_20782(ItemID.BANDOS_GODSWORD_20782, 8), - BANDOS_GODSWORD_21060(ItemID.BANDOS_GODSWORD_21060, 8), - ARMADYL_GODSWORD(ItemID.ARMADYL_GODSWORD, 8), - ARMADYL_GODSWORD_OR(ItemID.ARMADYL_GODSWORD_OR, 8), - ARMADYL_GODSWORD_20593(ItemID.ARMADYL_GODSWORD_20593, 8), - SARADOMIN_GODSWORD(ItemID.SARADOMIN_GODSWORD, 8), - SARADOMIN_GODSWORD_OR(ItemID.SARADOMIN_GODSWORD_OR, 8), - ZAMORAK_GODSWORD(ItemID.ZAMORAK_GODSWORD, 8), - ZAMORAK_GODSWORD_OR(ItemID.ZAMORAK_GODSWORD_OR, 8), - - // Shields - WHITE_KITESHIELD(ItemID.WHITE_KITESHIELD, 1), - WHITE_SQ_SHIELD(ItemID.WHITE_SQ_SHIELD, 1), - SPIRIT_SHIELD(ItemID.SPIRIT_SHIELD, 1), - FALADOR_SHIELD_1(ItemID.FALADOR_SHIELD_1, 1), - KHAREDSTS_MEMOIRS(ItemID.KHAREDSTS_MEMOIRS, 1), - BLESSED_SPIRIT_SHIELD(ItemID.BLESSED_SPIRIT_SHIELD, 3), - ARCANE_SPIRIT_SHIELD(ItemID.ARCANE_SPIRIT_SHIELD, 3), - SPECTRAL_SPIRIT_SHIELD(ItemID.SPECTRAL_SPIRIT_SHIELD, 3), - ELYSIAN_SPIRIT_SHIELD(ItemID.ELYSIAN_SPIRIT_SHIELD, 3), - ELYSIAN_SPIRIT_SHIELD_19559(ItemID.ELYSIAN_SPIRIT_SHIELD_19559, 3), - FALADOR_SHIELD_2(ItemID.FALADOR_SHIELD_2, 3), - FALADOR_SHIELD_3(ItemID.FALADOR_SHIELD_3, 4), - BROODOO_SHIELD(ItemID.BROODOO_SHIELD, 5), - BROODOO_SHIELD_6257(ItemID.BROODOO_SHIELD_6257, 5), - BROODOO_SHIELD_6279(ItemID.BROODOO_SHIELD_6279, 5), - BROODOO_SHIELD_1(ItemID.BROODOO_SHIELD_1, 5), - BROODOO_SHIELD_1_6255(ItemID.BROODOO_SHIELD_1_6255, 5), - BROODOO_SHIELD_1_6277(ItemID.BROODOO_SHIELD_1_6277, 5), - BROODOO_SHIELD_2(ItemID.BROODOO_SHIELD_2, 5), - BROODOO_SHIELD_2_6253(ItemID.BROODOO_SHIELD_2_6253, 5), - BROODOO_SHIELD_2_6275(ItemID.BROODOO_SHIELD_2_6275, 5), - BROODOO_SHIELD_3(ItemID.BROODOO_SHIELD_3, 5), - BROODOO_SHIELD_3_6251(ItemID.BROODOO_SHIELD_3_6251, 5), - BROODOO_SHIELD_3_6273(ItemID.BROODOO_SHIELD_3_6273, 5), - BROODOO_SHIELD_4(ItemID.BROODOO_SHIELD_4, 5), - BROODOO_SHIELD_4_6249(ItemID.BROODOO_SHIELD_4_6249, 5), - BROODOO_SHIELD_4_6271(ItemID.BROODOO_SHIELD_4_6271, 5), - BROODOO_SHIELD_5(ItemID.BROODOO_SHIELD_5, 5), - BROODOO_SHIELD_5_6247(ItemID.BROODOO_SHIELD_5_6247, 5), - BROODOO_SHIELD_5_6269(ItemID.BROODOO_SHIELD_5_6269, 5), - BROODOO_SHIELD_6(ItemID.BROODOO_SHIELD_6, 5), - BROODOO_SHIELD_6_6245(ItemID.BROODOO_SHIELD_6_6245, 5), - BROODOO_SHIELD_6_6267(ItemID.BROODOO_SHIELD_6_6267, 5), - BROODOO_SHIELD_7(ItemID.BROODOO_SHIELD_7, 5), - BROODOO_SHIELD_7_6243(ItemID.BROODOO_SHIELD_7_6243, 5), - BROODOO_SHIELD_7_6265(ItemID.BROODOO_SHIELD_7_6265, 5), - BROODOO_SHIELD_8(ItemID.BROODOO_SHIELD_8, 5), - BROODOO_SHIELD_8_6241(ItemID.BROODOO_SHIELD_8_6241, 5), - BROODOO_SHIELD_8_6263(ItemID.BROODOO_SHIELD_8_6263, 5), - BROODOO_SHIELD_9(ItemID.BROODOO_SHIELD_9, 5), - BROODOO_SHIELD_9_6239(ItemID.BROODOO_SHIELD_9_6239, 5), - BROODOO_SHIELD_9_6261(ItemID.BROODOO_SHIELD_9_6261, 5), - BROODOO_SHIELD_10(ItemID.BROODOO_SHIELD_10, 5), - BROODOO_SHIELD_10_6237(ItemID.BROODOO_SHIELD_10_6237, 5), - BROODOO_SHIELD_10_6259(ItemID.BROODOO_SHIELD_10_6259, 5), - BOOK_OF_DARKNESS(ItemID.BOOK_OF_DARKNESS, 5), - DAMAGED_BOOK_12611(ItemID.DAMAGED_BOOK_12611, 5), - BOOK_OF_BALANCE(ItemID.BOOK_OF_BALANCE, 5), - DAMAGED_BOOK_3843(ItemID.DAMAGED_BOOK_3843, 5), - BOOK_OF_LAW(ItemID.BOOK_OF_LAW, 5), - DAMAGED_BOOK_12609(ItemID.DAMAGED_BOOK_12609, 5), - BOOK_OF_WAR(ItemID.BOOK_OF_WAR, 5), - DAMAGED_BOOK_12607(ItemID.DAMAGED_BOOK_12607, 5), - HOLY_BOOK(ItemID.HOLY_BOOK, 5), - DAMAGED_BOOK(ItemID.DAMAGED_BOOK, 5), - UNHOLY_BOOK(ItemID.UNHOLY_BOOK, 5), - DAMAGED_BOOK_3841(ItemID.DAMAGED_BOOK_3841, 5), - FALADOR_SHIELD_4(ItemID.FALADOR_SHIELD_4, 5); - - private static final Map prayerBonuses; - - private final int itemId; - private final int prayerBonus; - - static - { - ImmutableMap.Builder builder = new ImmutableMap.Builder<>(); - for (PrayerItems item : values()) - { - builder.put(item.getItemId(), item.getPrayerBonus()); - } - prayerBonuses = builder.build(); - } - - static int getItemPrayerBonus(int itemId) - { - Integer value = prayerBonuses.get(itemId); - return value == null ? 0 : value; - } -} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerPlugin.java index 2755703f8f..6b54553d27 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerPlugin.java @@ -42,11 +42,13 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemContainerChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.game.ItemManager; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; +import net.runelite.http.api.item.ItemStats; @PluginDescriptor( name = "Prayer", @@ -86,6 +88,9 @@ public class PrayerPlugin extends Plugin @Inject private PrayerConfig config; + @Inject + private ItemManager itemManager; + @Provides PrayerConfig provideConfig(ConfigManager configManager) { @@ -245,8 +250,11 @@ public class PrayerPlugin extends Plugin } } - int bonus = PrayerItems.getItemPrayerBonus(item.getId()); - total += bonus; + ItemStats is = itemManager.getItemStats(item.getId(), false); + if (is != null && is.getEquipment() != null) + { + total += is.getEquipment().getPrayer(); + } } if (hasSanfew || hasSuperRestore || hasPrayerPotion) From 0bcefb0be00a0367a913665644528c4b0c344db8 Mon Sep 17 00:00:00 2001 From: "Elkins, Trey" Date: Thu, 10 Oct 2019 15:56:53 -0700 Subject: [PATCH 11/17] Add no weapon/shield enforcement to aerial fishing clue --- .../client/plugins/cluescrolls/clues/SkillChallengeClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java index 11efc632d4..d563c0c0de 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java @@ -124,7 +124,7 @@ public class SkillChallengeClue extends ClueScroll implements NpcClueScroll any("Earth Rune x15", xOfItem(ItemID.EARTH_RUNE, 15), xOfItem(ItemID.DUST_RUNE, 15), xOfItem(ItemID.MUD_RUNE, 15), xOfItem(ItemID.LAVA_RUNE, 15), item(ItemID.STAFF_OF_EARTH), item(ItemID.EARTH_BATTLESTAFF), item(ItemID.MYSTIC_EARTH_STAFF), item(ItemID.MUD_BATTLESTAFF), item(ItemID.MYSTIC_MUD_STAFF), item(ItemID.DUST_BATTLESTAFF), item(ItemID.MYSTIC_DUST_STAFF), item(ItemID.LAVA_BATTLESTAFF), item(ItemID.MYSTIC_LAVA_STAFF), item(ItemID.LAVA_BATTLESTAFF_21198), item(ItemID.MYSTIC_LAVA_STAFF_21200)), any("Unenchanted Dragonstone Jewellery", item(ItemID.DRAGONSTONE_RING), item(ItemID.DRAGON_NECKLACE), item(ItemID.DRAGON_BRACELET), item(ItemID.DRAGONSTONE_AMULET))), new SkillChallengeClue("Craft a nature rune.", item(ItemID.PURE_ESSENCE)), - new SkillChallengeClue("Catch a mottled eel with aerial fishing in Lake Molch.", any("Fish chunks or King worms", item(ItemID.FISH_CHUNKS), item(ItemID.KING_WORM)), emptySlot("No Gloves", EquipmentInventorySlot.GLOVES)), + new SkillChallengeClue("Catch a mottled eel with aerial fishing in Lake Molch.", any("Fish chunks or King worms", item(ItemID.FISH_CHUNKS), item(ItemID.KING_WORM)), emptySlot("No Gloves", EquipmentInventorySlot.GLOVES), emptySlot("No Weapon", EquipmentInventorySlot.WEAPON), emptySlot("No Shield", EquipmentInventorySlot.SHIELD)), new SkillChallengeClue("Score a goal in skullball.", true, any("Ring of Charos", item(ItemID.RING_OF_CHAROS), item(ItemID.RING_OF_CHAROSA))), new SkillChallengeClue("Complete a lap of Ape atoll agility course.", true, any("Ninja Monkey Greegree", item(ItemID.NINJA_MONKEY_GREEGREE), item(ItemID.NINJA_MONKEY_GREEGREE_4025), item(ItemID.KRUK_MONKEY_GREEGREE))), new SkillChallengeClue("Create a super defence potion.", item(ItemID.CADANTINE_POTION_UNF), item(ItemID.WHITE_BERRIES)), From 562ff3232e6510bea955ff6623b644ff8c9670b5 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 11 Oct 2019 08:55:54 -0400 Subject: [PATCH 12/17] cache: update object definition --- .../net/runelite/cache/MapImageDumper.java | 4 +-- .../cache/definitions/ObjectDefinition.java | 18 +++++----- .../definitions/loaders/ObjectLoader.java | 34 +++++++++---------- .../cache/definitions/savers/ObjectSaver.java | 30 ++++++++-------- 4 files changed, 43 insertions(+), 43 deletions(-) diff --git a/cache/src/main/java/net/runelite/cache/MapImageDumper.java b/cache/src/main/java/net/runelite/cache/MapImageDumper.java index 5235d97fb6..af857e796e 100644 --- a/cache/src/main/java/net/runelite/cache/MapImageDumper.java +++ b/cache/src/main/java/net/runelite/cache/MapImageDumper.java @@ -532,7 +532,7 @@ public class MapImageDumper { // this is a wall int hash = (localY << 7) + localX + (location.getId() << 14) + 0x4000_0000; - if (object.getAnInt2088() == 0) + if (object.getWallOrDoor() == 0) { hash -= Integer.MIN_VALUE; } @@ -645,7 +645,7 @@ public class MapImageDumper } int hash = (localY << 7) + localX + (location.getId() << 14) + 0x4000_0000; - if (object.getAnInt2088() == 0) + if (object.getWallOrDoor() == 0) { hash -= Integer.MIN_VALUE; } diff --git a/cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java index 007c9e2ebf..473a9d6c6b 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java @@ -33,8 +33,8 @@ public class ObjectDefinition { private int id; private short[] retextureToFind; - private int anInt2069 = 16; - private boolean isSolid = false; + private int decorDisplacement = 16; + private boolean isHollow = false; private String name = "null"; private int[] objectModels; private int[] objectTypes; @@ -46,8 +46,8 @@ public class ObjectDefinition private int anInt2083 = 0; private int[] anIntArray2084; private int offsetX = 0; - private boolean nonFlatShading = false; - private int anInt2088 = -1; + private boolean mergeNormals = false; + private int wallOrDoor = -1; private int animationID = -1; private int varbitID = -1; private int ambient = 0; @@ -56,20 +56,20 @@ public class ObjectDefinition private int interactType = 2; private int mapSceneID = -1; private short[] recolorToReplace; - private boolean aBool2097 = true; + private boolean shadow = true; private int modelSizeX = 128; private int modelSizeHeight = 128; private int modelSizeY = 128; private int objectID; private int offsetHeight = 0; private int offsetY = 0; - private boolean aBool2104 = false; - private int anInt2105 = -1; - private int anInt2106 = -1; + private boolean obstructsGround = false; + private int contouredGround = -1; + private int supportsItems = -1; private int[] configChangeDest; private boolean isRotated = false; private int varpID = -1; - private int anInt2110 = -1; + private int ambientSoundId = -1; private boolean aBool2111 = false; private int anInt2112 = 0; private int anInt2113 = 0; diff --git a/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java b/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java index 13a3eab754..edd50668f4 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java +++ b/cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java @@ -117,15 +117,15 @@ public class ObjectLoader } else if (opcode == 19) { - def.setAnInt2088(is.readUnsignedByte()); + def.setWallOrDoor(is.readUnsignedByte()); } else if (opcode == 21) { - def.setAnInt2105(0); + def.setContouredGround(0); } else if (opcode == 22) { - def.setNonFlatShading(false); + def.setMergeNormals(true); } else if (opcode == 23) { @@ -145,7 +145,7 @@ public class ObjectLoader } else if (opcode == 28) { - def.setAnInt2069(is.readUnsignedByte()); + def.setDecorDisplacement(is.readUnsignedByte()); } else if (opcode == 29) { @@ -153,7 +153,7 @@ public class ObjectLoader } else if (opcode == 39) { - def.setContrast(is.readByte()); + def.setContrast(is.readByte() * 25); } else if (opcode >= 30 && opcode < 35) { @@ -200,7 +200,7 @@ public class ObjectLoader } else if (opcode == 64) { - def.setABool2097(false); + def.setShadow(false); } else if (opcode == 65) { @@ -236,15 +236,15 @@ public class ObjectLoader } else if (opcode == 73) { - def.setABool2104(true); + def.setObstructsGround(true); } else if (opcode == 74) { - def.setSolid(true); + def.setHollow(true); } else if (opcode == 75) { - def.setAnInt2106(is.readUnsignedByte()); + def.setSupportsItems(is.readUnsignedByte()); } else if (opcode == 77) { @@ -280,7 +280,7 @@ public class ObjectLoader } else if (opcode == 78) { - def.setAnInt2110(is.readUnsignedShort()); + def.setAmbientSoundId(is.readUnsignedShort()); def.setAnInt2083(is.readUnsignedByte()); } else if (opcode == 79) @@ -300,7 +300,7 @@ public class ObjectLoader } else if (opcode == 81) { - def.setAnInt2105(is.readUnsignedByte() * 256); + def.setContouredGround(is.readUnsignedByte() * 256); } else if (opcode == 82) { @@ -380,26 +380,26 @@ public class ObjectLoader private void post(ObjectDefinition def) { - if (def.getAnInt2088() == -1) + if (def.getWallOrDoor() == -1) { - def.setAnInt2088(0); + def.setWallOrDoor(0); if (def.getObjectModels() != null && (def.getObjectTypes() == null || def.getObjectTypes()[0] == 10)) { - def.setAnInt2088(1); + def.setWallOrDoor(1); } for (int var1 = 0; var1 < 5; ++var1) { if (def.getActions()[var1] != null) { - def.setAnInt2088(1); + def.setWallOrDoor(1); } } } - if (def.getAnInt2106() == -1) + if (def.getSupportsItems() == -1) { - def.setAnInt2106(def.getInteractType() != 0 ? 1 : 0); + def.setSupportsItems(def.getInteractType() != 0 ? 1 : 0); } } } diff --git a/cache/src/main/java/net/runelite/cache/definitions/savers/ObjectSaver.java b/cache/src/main/java/net/runelite/cache/definitions/savers/ObjectSaver.java index e1bb77896d..8412240817 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/savers/ObjectSaver.java +++ b/cache/src/main/java/net/runelite/cache/definitions/savers/ObjectSaver.java @@ -69,16 +69,16 @@ public class ObjectSaver { out.writeByte(18); } - if (obj.getAnInt2088() != -1) + if (obj.getWallOrDoor() != -1) { out.writeByte(19); - out.writeByte(obj.getAnInt2088()); + out.writeByte(obj.getWallOrDoor()); } - if (obj.getAnInt2105() == 0) + if (obj.getContouredGround() == 0) { out.writeByte(21); } - if (!obj.isNonFlatShading()) + if (!obj.isMergeNormals()) { out.writeByte(22); } @@ -96,11 +96,11 @@ public class ObjectSaver out.writeByte(27); } out.writeByte(28); - out.writeByte(obj.getAnInt2069()); + out.writeByte(obj.getDecorDisplacement()); out.writeByte(29); out.writeByte(obj.getAmbient()); out.writeByte(39); - out.writeByte(obj.getContrast()); + out.writeByte(obj.getContrast() / 25); for (int i = 0; i < 5; ++i) { out.writeByte(30 + i); @@ -131,7 +131,7 @@ public class ObjectSaver { out.writeByte(62); } - if (!obj.isABool2097()) + if (!obj.isShadow()) { out.writeByte(64); } @@ -152,23 +152,23 @@ public class ObjectSaver out.writeShort(obj.getOffsetHeight()); out.writeByte(72); out.writeShort(obj.getOffsetY()); - if (obj.isABool2104()) + if (obj.isObstructsGround()) { out.writeByte(73); } - if (obj.isSolid()) + if (obj.isHollow()) { out.writeByte(74); } - if (obj.getAnInt2106() != -1) + if (obj.getSupportsItems() != -1) { out.writeByte(75); - out.writeByte(obj.getAnInt2106()); + out.writeByte(obj.getSupportsItems()); } - if (obj.getAnInt2110() != -1) + if (obj.getAmbientSoundId() != -1) { out.writeByte(78); - out.writeShort(obj.getAnInt2110()); + out.writeShort(obj.getAmbientSoundId()); out.writeByte(obj.getAnInt2083()); } if (obj.getAnIntArray2084() != null) @@ -183,10 +183,10 @@ public class ObjectSaver out.writeShort(i); } } - if (obj.getAnInt2105() != -1) + if (obj.getContouredGround() != -1) { out.writeByte(81); - out.writeByte(obj.getAnInt2105() / 256); + out.writeByte(obj.getContouredGround() / 256); } if (obj.getMapAreaId() != -1) { From 4d43f08e0d2444e3c2b210e70b7be8acac33cb1a Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 11 Oct 2019 20:50:06 -0400 Subject: [PATCH 13/17] item charges: fix explorer's ring infobox caching The infobox was being added each varbit change if the show infobox and show explorer ring charges config settings were on. Introduced in b89d535fcbef725326e1fd864a56727941cd950c --- .../runelite/client/plugins/itemcharges/ItemChargePlugin.java | 1 + 1 file changed, 1 insertion(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java index 1474aa4142..ad6aa74f47 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java @@ -340,6 +340,7 @@ public class ItemChargePlugin extends Plugin int explorerRingCharge = client.getVar(Varbits.EXPLORER_RING_ALCHS); if (lastExplorerRingCharge != explorerRingCharge) { + lastExplorerRingCharge = explorerRingCharge; updateExplorerRingCharges(explorerRingCharge); } } From bdd9feb3ea5825d267e97876b5c9ff0c2ca2a461 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 11 Oct 2019 20:56:26 -0400 Subject: [PATCH 14/17] async buffered image: fix listener leak from subscribing to already loaded images Listeners are never removed from the image, and for hot images in the image cache, the listeners are leaking. Since the images only change once after loading, do not queue any further listeners once it has been loaded. --- .../client/game/AsyncBufferedImage.java | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/game/AsyncBufferedImage.java b/runelite-client/src/main/java/net/runelite/client/game/AsyncBufferedImage.java index 0290c7856a..669ce38b8a 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/AsyncBufferedImage.java +++ b/runelite-client/src/main/java/net/runelite/client/game/AsyncBufferedImage.java @@ -26,8 +26,8 @@ package net.runelite.client.game; import java.awt.image.BufferedImage; +import java.util.ArrayList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JComponent; @@ -35,7 +35,9 @@ import javax.swing.JLabel; public class AsyncBufferedImage extends BufferedImage { - private final List listeners = new CopyOnWriteArrayList<>(); + private final List listeners = new ArrayList<>(); + private boolean loaded; + public AsyncBufferedImage(int width, int height, int imageType) { super(width, height, imageType); @@ -44,19 +46,28 @@ public class AsyncBufferedImage extends BufferedImage /** * Call when the buffer has been changed */ - public void changed() + public synchronized void changed() { + loaded = true; for (Runnable r : listeners) { r.run(); } + listeners.clear(); } /** * Register a function to be ran when the buffer has changed */ - public void onChanged(Runnable r) + public synchronized void onChanged(Runnable r) { + if (loaded) + { + // If the image has already been loaded, further listeners will not fire. Do not + // queue them to avoid leaking listeners. + return; + } + listeners.add(r); } @@ -78,7 +89,13 @@ public class AsyncBufferedImage extends BufferedImage private ImageIcon makeIcon(JComponent c) { - listeners.add(c::repaint); + synchronized (this) + { + if (!loaded) + { + listeners.add(c::repaint); + } + } return new ImageIcon(this); } } From 2488d4f7face7bfb3e4b2d03b8faed52e2b28cb8 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 11 Oct 2019 21:30:36 -0400 Subject: [PATCH 15/17] async buffered image: rename changed to loaded --- .../net/runelite/client/game/AsyncBufferedImage.java | 9 +++++---- .../main/java/net/runelite/client/game/ItemManager.java | 2 +- .../client/plugins/loottracker/LootTrackerBox.java | 2 +- .../client/plugins/timetracking/TimeTrackingPanel.java | 2 +- .../client/ui/overlay/infobox/InfoBoxManager.java | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/game/AsyncBufferedImage.java b/runelite-client/src/main/java/net/runelite/client/game/AsyncBufferedImage.java index 669ce38b8a..8d71834d60 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/AsyncBufferedImage.java +++ b/runelite-client/src/main/java/net/runelite/client/game/AsyncBufferedImage.java @@ -44,9 +44,9 @@ public class AsyncBufferedImage extends BufferedImage } /** - * Call when the buffer has been changed + * Call when the image has been loaded */ - public synchronized void changed() + public synchronized void loaded() { loaded = true; for (Runnable r : listeners) @@ -57,9 +57,10 @@ public class AsyncBufferedImage extends BufferedImage } /** - * Register a function to be ran when the buffer has changed + * Register a function to be ran when the image has been loaded. + * If the image is already loaded, the function will not be ran. */ - public synchronized void onChanged(Runnable r) + public synchronized void onLoaded(Runnable r) { if (loaded) { diff --git a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java index 88cb65b466..096983bc49 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java @@ -415,7 +415,7 @@ public class ItemManager return false; } sprite.toBufferedImage(img); - img.changed(); + img.loaded(); return true; }); return img; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerBox.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerBox.java index 372d1bd25a..91b7dc93d2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerBox.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerBox.java @@ -317,7 +317,7 @@ class LootTrackerBox extends JPanel BufferedImage transparentImage = ImageUtil.alphaOffset(itemImage, .3f); imageLabel.setIcon(new ImageIcon(transparentImage)); }; - itemImage.onChanged(addTransparency); + itemImage.onLoaded(addTransparency); addTransparency.run(); } else diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPanel.java index 6deb64e30c..3404a53a78 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPanel.java @@ -116,7 +116,7 @@ class TimeTrackingPanel extends PluginPanel BufferedImage subIcon = icon.getSubimage(0, 0, 32, 32); materialTab.setIcon(new ImageIcon(subIcon.getScaledInstance(24, 24, Image.SCALE_SMOOTH))); }; - icon.onChanged(resize); + icon.onLoaded(resize); resize.run(); materialTab.setOnSelectEvent(() -> diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java index 228441a901..c6a672d28d 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java @@ -78,7 +78,7 @@ public class InfoBoxManager if (image instanceof AsyncBufferedImage) { AsyncBufferedImage abi = (AsyncBufferedImage) image; - abi.onChanged(() -> updateInfoBoxImage(infoBox)); + abi.onLoaded(() -> updateInfoBoxImage(infoBox)); } } From 81f51254964b33b2c622ca7373c2e03db1c49e5b Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 11 Oct 2019 21:31:05 -0400 Subject: [PATCH 16/17] async buffered image: move to util --- .../src/main/java/net/runelite/client/game/ItemManager.java | 1 + .../client/plugins/grandexchange/GrandExchangeItemPanel.java | 2 +- .../client/plugins/grandexchange/GrandExchangeItems.java | 2 +- .../client/plugins/grandexchange/GrandExchangeSearchPanel.java | 2 +- .../java/net/runelite/client/plugins/kourendlibrary/Book.java | 2 +- .../net/runelite/client/plugins/loottracker/LootTrackerBox.java | 2 +- .../runelite/client/plugins/timetracking/TimeTrackingPanel.java | 2 +- .../net/runelite/client/ui/overlay/infobox/InfoBoxManager.java | 2 +- .../net/runelite/client/{game => util}/AsyncBufferedImage.java | 2 +- .../plugins/grandexchange/GrandExchangeOfferSlotTest.java | 2 +- 10 files changed, 10 insertions(+), 9 deletions(-) rename runelite-client/src/main/java/net/runelite/client/{game => util}/AsyncBufferedImage.java (98%) diff --git a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java index 096983bc49..58415a17c2 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java @@ -56,6 +56,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.PostItemComposition; import net.runelite.client.callback.ClientThread; import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.util.AsyncBufferedImage; import net.runelite.http.api.item.ItemClient; import net.runelite.http.api.item.ItemPrice; import net.runelite.http.api.item.ItemStats; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeItemPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeItemPanel.java index 7f40564e01..711662b478 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeItemPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeItemPanel.java @@ -39,7 +39,7 @@ import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.CompoundBorder; import javax.swing.border.EmptyBorder; -import net.runelite.client.game.AsyncBufferedImage; +import net.runelite.client.util.AsyncBufferedImage; import net.runelite.client.ui.ColorScheme; import net.runelite.client.util.LinkBrowser; import net.runelite.client.util.StackFormatter; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeItems.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeItems.java index 1f6158e6b2..c56472d494 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeItems.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeItems.java @@ -25,7 +25,7 @@ package net.runelite.client.plugins.grandexchange; import lombok.Value; -import net.runelite.client.game.AsyncBufferedImage; +import net.runelite.client.util.AsyncBufferedImage; @Value class GrandExchangeItems diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeSearchPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeSearchPanel.java index 5ad9032cb4..90dcf0269d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeSearchPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeSearchPanel.java @@ -43,7 +43,7 @@ import javax.swing.border.EmptyBorder; import lombok.Setter; import net.runelite.api.ItemComposition; import net.runelite.client.callback.ClientThread; -import net.runelite.client.game.AsyncBufferedImage; +import net.runelite.client.util.AsyncBufferedImage; import net.runelite.client.game.ItemManager; import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.components.IconTextField; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/Book.java b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/Book.java index 49f6ccf7f9..661ac88dbc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/Book.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/Book.java @@ -29,7 +29,7 @@ import java.util.HashMap; import java.util.Map; import lombok.Getter; import net.runelite.api.ItemID; -import net.runelite.client.game.AsyncBufferedImage; +import net.runelite.client.util.AsyncBufferedImage; import net.runelite.client.game.ItemManager; enum Book diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerBox.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerBox.java index 91b7dc93d2..74f54b4f9f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerBox.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerBox.java @@ -48,7 +48,7 @@ import javax.swing.SwingConstants; import javax.swing.border.EmptyBorder; import lombok.AccessLevel; import lombok.Getter; -import net.runelite.client.game.AsyncBufferedImage; +import net.runelite.client.util.AsyncBufferedImage; import net.runelite.client.game.ItemManager; import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.FontManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPanel.java index 3404a53a78..b984927202 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPanel.java @@ -38,7 +38,7 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.SwingUtilities; import javax.swing.border.EmptyBorder; -import net.runelite.client.game.AsyncBufferedImage; +import net.runelite.client.util.AsyncBufferedImage; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.timetracking.clocks.ClockManager; import net.runelite.client.plugins.timetracking.farming.FarmingTracker; diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java index c6a672d28d..3047dae60b 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java @@ -39,7 +39,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.RuneLiteConfig; import net.runelite.client.eventbus.Subscribe; -import net.runelite.client.game.AsyncBufferedImage; +import net.runelite.client.util.AsyncBufferedImage; import net.runelite.client.plugins.PluginDescriptor; @Singleton diff --git a/runelite-client/src/main/java/net/runelite/client/game/AsyncBufferedImage.java b/runelite-client/src/main/java/net/runelite/client/util/AsyncBufferedImage.java similarity index 98% rename from runelite-client/src/main/java/net/runelite/client/game/AsyncBufferedImage.java rename to runelite-client/src/main/java/net/runelite/client/util/AsyncBufferedImage.java index 8d71834d60..8be05f496c 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/AsyncBufferedImage.java +++ b/runelite-client/src/main/java/net/runelite/client/util/AsyncBufferedImage.java @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.client.game; +package net.runelite.client.util; import java.awt.image.BufferedImage; import java.util.ArrayList; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangeOfferSlotTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangeOfferSlotTest.java index 313278a734..f947c81ba5 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangeOfferSlotTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangeOfferSlotTest.java @@ -28,7 +28,7 @@ package net.runelite.client.plugins.grandexchange; import net.runelite.api.GrandExchangeOffer; import net.runelite.api.GrandExchangeOfferState; import net.runelite.api.ItemComposition; -import net.runelite.client.game.AsyncBufferedImage; +import net.runelite.client.util.AsyncBufferedImage; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; From 7971b88f7ddd8b28df6f6a8005035778e3195a6f Mon Sep 17 00:00:00 2001 From: dekvall Date: Sat, 28 Sep 2019 03:55:41 +0200 Subject: [PATCH 17/17] XpTracker: Fix hopping to/from DMM worlds --- .../runelite/client/plugins/xptracker/XpTrackerPlugin.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index a4a2f15be7..bf939736e5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -195,11 +195,11 @@ public class XpTrackerPlugin extends Plugin fetchXp = true; lastWorldType = type; resetState(); - // Must be set from hitting the LOGGING_IN case below + // Must be set from hitting the LOGGING_IN or HOPPING case below assert initializeTracker; } } - else if (state == GameState.LOGGING_IN) + else if (state == GameState.LOGGING_IN || state == GameState.HOPPING) { initializeTracker = true; }