Merge pull request #3950 from honeyhoney/bug_fix_binding_necklace_destroy
Bug fix binding necklace destroy
This commit is contained in:
@@ -101,6 +101,7 @@ public class WidgetID
|
|||||||
public static final int MTA_GRAVEYARD_GROUP_ID = 196;
|
public static final int MTA_GRAVEYARD_GROUP_ID = 196;
|
||||||
public static final int MTA_TELEKINETIC_GROUP_ID = 198;
|
public static final int MTA_TELEKINETIC_GROUP_ID = 198;
|
||||||
public static final int CORP_DAMAGE = 13;
|
public static final int CORP_DAMAGE = 13;
|
||||||
|
public static final int DESTROY_ITEM_GROUP_ID = 584;
|
||||||
|
|
||||||
static class WorldMap
|
static class WorldMap
|
||||||
{
|
{
|
||||||
@@ -518,4 +519,11 @@ public class WidgetID
|
|||||||
static final int BONUS_COMPONENT = 7;
|
static final int BONUS_COMPONENT = 7;
|
||||||
static final int BONUS_TEXT_COMPONENT = 12;
|
static final int BONUS_TEXT_COMPONENT = 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static class DestroyItem
|
||||||
|
{
|
||||||
|
static final int DESTROY_ITEM_NAME = 6;
|
||||||
|
static final int DESTROY_ITEM_YES = 1;
|
||||||
|
static final int DESTROY_ITEM_NO = 3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -331,7 +331,12 @@ public enum WidgetInfo
|
|||||||
BLAST_MINE(WidgetID.BLAST_MINE_GROUP_ID, 0),
|
BLAST_MINE(WidgetID.BLAST_MINE_GROUP_ID, 0),
|
||||||
|
|
||||||
MTA_ENCHANTMENT_BONUS_TEXT(WidgetID.MTA_ENCHANTMENT_GROUP_ID, WidgetID.MTA.BONUS_TEXT_COMPONENT),
|
MTA_ENCHANTMENT_BONUS_TEXT(WidgetID.MTA_ENCHANTMENT_GROUP_ID, WidgetID.MTA.BONUS_TEXT_COMPONENT),
|
||||||
MTA_ENCHANTMENT_BONUS(WidgetID.MTA_ENCHANTMENT_GROUP_ID, WidgetID.MTA.BONUS_COMPONENT);
|
MTA_ENCHANTMENT_BONUS(WidgetID.MTA_ENCHANTMENT_GROUP_ID, WidgetID.MTA.BONUS_COMPONENT),
|
||||||
|
|
||||||
|
DESTROY_ITEM(WidgetID.DESTROY_ITEM_GROUP_ID, 0),
|
||||||
|
DESTROY_ITEM_NAME(WidgetID.DESTROY_ITEM_GROUP_ID, WidgetID.DestroyItem.DESTROY_ITEM_NAME),
|
||||||
|
DESTROY_ITEM_YES(WidgetID.DESTROY_ITEM_GROUP_ID, WidgetID.DestroyItem.DESTROY_ITEM_YES),
|
||||||
|
DESTROY_ITEM_NO(WidgetID.DESTROY_ITEM_GROUP_ID, WidgetID.DestroyItem.DESTROY_ITEM_NO);
|
||||||
|
|
||||||
private final int groupId;
|
private final int groupId;
|
||||||
private final int childId;
|
private final int childId;
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import javax.inject.Inject;
|
|||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.runelite.api.ChatMessageType;
|
import net.runelite.api.ChatMessageType;
|
||||||
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.DecorativeObject;
|
import net.runelite.api.DecorativeObject;
|
||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
import net.runelite.api.InventoryID;
|
import net.runelite.api.InventoryID;
|
||||||
@@ -48,8 +49,11 @@ import net.runelite.api.events.DecorativeObjectDespawned;
|
|||||||
import net.runelite.api.events.DecorativeObjectSpawned;
|
import net.runelite.api.events.DecorativeObjectSpawned;
|
||||||
import net.runelite.api.events.GameStateChanged;
|
import net.runelite.api.events.GameStateChanged;
|
||||||
import net.runelite.api.events.GameTick;
|
import net.runelite.api.events.GameTick;
|
||||||
|
import net.runelite.api.events.MenuOptionClicked;
|
||||||
import net.runelite.api.queries.InventoryItemQuery;
|
import net.runelite.api.queries.InventoryItemQuery;
|
||||||
import net.runelite.api.queries.NPCQuery;
|
import net.runelite.api.queries.NPCQuery;
|
||||||
|
import net.runelite.api.widgets.Widget;
|
||||||
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
@@ -62,6 +66,7 @@ import net.runelite.client.util.QueryRunner;
|
|||||||
public class RunecraftPlugin extends Plugin
|
public class RunecraftPlugin extends Plugin
|
||||||
{
|
{
|
||||||
private static Pattern bindNeckString = Pattern.compile("You have ([0-9]+) charges left before your Binding necklace disintegrates.");
|
private static Pattern bindNeckString = Pattern.compile("You have ([0-9]+) charges left before your Binding necklace disintegrates.");
|
||||||
|
private static final int DESTROY_ITEM_WIDGET_ID = WidgetInfo.DESTROY_ITEM_YES.getId();
|
||||||
|
|
||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter(AccessLevel.PACKAGE)
|
||||||
private final Set<DecorativeObject> abyssObjects = new HashSet<>();
|
private final Set<DecorativeObject> abyssObjects = new HashSet<>();
|
||||||
@@ -72,6 +77,9 @@ public class RunecraftPlugin extends Plugin
|
|||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter(AccessLevel.PACKAGE)
|
||||||
private NPC darkMage;
|
private NPC darkMage;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private Client client;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private OverlayManager overlayManager;
|
private OverlayManager overlayManager;
|
||||||
|
|
||||||
@@ -158,6 +166,23 @@ public class RunecraftPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onMenuOptionClicked(MenuOptionClicked event)
|
||||||
|
{
|
||||||
|
if (event.getWidgetId() != DESTROY_ITEM_WIDGET_ID)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget widgetDestroyItemName = client.getWidget(WidgetInfo.DESTROY_ITEM_NAME);
|
||||||
|
if (widgetDestroyItemName == null || !widgetDestroyItemName.getText().equals("Binding necklace"))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
bindNeckOverlay.bindingCharges = 16;
|
||||||
|
}
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
public void onDecorativeObjectSpawn(DecorativeObjectSpawned event)
|
public void onDecorativeObjectSpawn(DecorativeObjectSpawned event)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user