From 3675061f21d6e2ad25bb24980db133256616f1a4 Mon Sep 17 00:00:00 2001
From: James <38226001+f0rmatme@users.noreply.github.com>
Date: Fri, 19 Jul 2019 02:13:45 -0700
Subject: [PATCH] grandexchange: Shows the quantity you can buy on the GE WIP
(#1042)
* Add measures to ensure positions of strings when togg:ling configItem
change method of gathering price per item
change math.round to math.floor, errors when certain numbers are rounded fix
* implement geBuilt script event, clear values when item isn't visible
* Update
* Update pos number
* Update
---
.../main/java/net/runelite/api/Varbits.java | 5 ++
.../grandexchange/GrandExchangeConfig.java | 11 +++
.../grandexchange/GrandExchangePlugin.java | 90 +++++++++++++++----
3 files changed, 87 insertions(+), 19 deletions(-)
diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java
index 28486dc43f..48c138e013 100644
--- a/runelite-api/src/main/java/net/runelite/api/Varbits.java
+++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java
@@ -49,6 +49,11 @@ public enum Varbits
*/
CHAT_SCROLLBAR_ON_LEFT(6374),
+ /**
+ * Grand Exchange
+ */
+ GRAND_EXCHANGE_PRICE_PER_ITEM(4398),
+
/**
* Runepouch
*/
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeConfig.java
index b1eb1e212c..b2ca3c22de 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeConfig.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeConfig.java
@@ -96,4 +96,15 @@ public interface GrandExchangeConfig extends Config
{
return false;
}
+
+ @ConfigItem(
+ position = 7,
+ keyName = "enableAfford",
+ name = "Enable Afford quantity on GE",
+ description = "Shows the quantity you can buy on the GE"
+ )
+ default boolean enableAfford()
+ {
+ return true;
+ }
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java
index c9604a9382..afd9b1de9a 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java
@@ -48,14 +48,18 @@ import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.GrandExchangeOffer;
import net.runelite.api.GrandExchangeOfferState;
+import net.runelite.api.InventoryID;
+import net.runelite.api.Item;
+import net.runelite.api.ItemContainer;
import net.runelite.api.ItemDefinition;
+import static net.runelite.api.ItemID.COINS_995;
import net.runelite.api.MenuAction;
import net.runelite.api.MenuEntry;
+import net.runelite.api.Varbits;
import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.FocusChanged;
import net.runelite.api.events.GameStateChanged;
-import net.runelite.api.events.GameTick;
import net.runelite.api.events.GrandExchangeOfferChanged;
import net.runelite.api.events.MenuEntryAdded;
import net.runelite.api.events.ScriptCallbackEvent;
@@ -99,7 +103,8 @@ public class GrandExchangePlugin extends Plugin
private static final OSBGrandExchangeClient CLIENT = new OSBGrandExchangeClient();
private static final String OSB_GE_TEXT = "
OSBuddy Actively traded price: ";
- private static final String BUY_LIMIT_GE_TEXT = "
Buy limit: ";
+ private static final String BUY_LIMIT_GE_TEXT = "Buy limit: ";
+ private static final String AFFORD_GE_TEXT = "
Afford: ";
private static final Gson GSON = new Gson();
private static final TypeToken