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 * 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; 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_IRON_GROUP_ID = 726;
public static final int GROUP_STORAGE_INVENTORY_GROUP_ID = 725; public static final int GROUP_STORAGE_INVENTORY_GROUP_ID = 725;
public static final int GROUP_STORAGE_GROUP_ID = 724; public static final int GROUP_STORAGE_GROUP_ID = 724;
public static final int WILDERNESS_LOOT_CHEST = 742;
static class WorldMap static class WorldMap
{ {

View File

@@ -688,6 +688,15 @@ public class LootTrackerPlugin extends Plugin
metadata = client.getBoostedSkillLevel(Skill.FISHING); metadata = client.getBoostedSkillLevel(Skill.FISHING);
container = client.getItemContainer(InventoryID.DRIFT_NET_FISHING_REWARD); container = client.getItemContainer(InventoryID.DRIFT_NET_FISHING_REWARD);
break; break;
case WidgetID.WILDERNESS_LOOT_CHEST:
if (chestLooted)
{
return;
}
event = "Loot Chest";
container = client.getItemContainer(InventoryID.WILDERNESS_LOOT_CHEST);
chestLooted = true;
break;
default: default:
return; return;
} }
@@ -885,6 +894,14 @@ public class LootTrackerPlugin extends Plugin
@Subscribe @Subscribe
public void onItemContainerChanged(ItemContainerChanged event) 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()) if (inventoryId == null || event.getContainerId() != inventoryId.getId())
{ {
return; return;