loot tracker: add wilderness loot chest

This commit is contained in:
Adam
2022-03-13 16:42:05 -04:00
parent 88933be3df
commit 08da9a2d8a
3 changed files with 23 additions and 1 deletions

View File

@@ -92,7 +92,11 @@ public enum InventoryID
/**
* Player inventory when accessing group ironman shared storage
*/
GROUP_STORAGE_INV(660);
GROUP_STORAGE_INV(660),
/**
* Wilderness loot chest
*/
WILDERNESS_LOOT_CHEST(797);
private final int id;

View File

@@ -173,6 +173,7 @@ public final class WidgetID
public static final int GROUP_IRON_GROUP_ID = 726;
public static final int GROUP_STORAGE_INVENTORY_GROUP_ID = 725;
public static final int GROUP_STORAGE_GROUP_ID = 724;
public static final int WILDERNESS_LOOT_CHEST = 742;
static class WorldMap
{

View File

@@ -688,6 +688,15 @@ public class LootTrackerPlugin extends Plugin
metadata = client.getBoostedSkillLevel(Skill.FISHING);
container = client.getItemContainer(InventoryID.DRIFT_NET_FISHING_REWARD);
break;
case WidgetID.WILDERNESS_LOOT_CHEST:
if (chestLooted)
{
return;
}
event = "Loot Chest";
container = client.getItemContainer(InventoryID.WILDERNESS_LOOT_CHEST);
chestLooted = true;
break;
default:
return;
}
@@ -885,6 +894,14 @@ public class LootTrackerPlugin extends Plugin
@Subscribe
public void onItemContainerChanged(ItemContainerChanged event)
{
// when the wilderness chest empties, clear chest loot flag for the next key
if (event.getContainerId() == InventoryID.WILDERNESS_LOOT_CHEST.getId()
&& Arrays.stream(event.getItemContainer().getItems()).noneMatch(i -> i.getId() > -1))
{
log.debug("Resetting chest loot flag");
chestLooted = false;
}
if (inventoryId == null || event.getContainerId() != inventoryId.getId())
{
return;