diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/AllRequirementsCollection.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/AllRequirementsCollection.java index 73ce1c8bcb..2efe470b84 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/AllRequirementsCollection.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/AllRequirementsCollection.java @@ -36,6 +36,20 @@ public class AllRequirementsCollection implements ItemRequirement this.requirements = requirements; } + @Override + public boolean fulfilledBy(int itemId) + { + for (ItemRequirement requirement : requirements) + { + if (requirement.fulfilledBy(itemId)) + { + return true; + } + } + + return false; + } + @Override public boolean fulfilledBy(Item[] items) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/AnyRequirementCollection.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/AnyRequirementCollection.java index b412952767..02a713f7b0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/AnyRequirementCollection.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/AnyRequirementCollection.java @@ -38,6 +38,20 @@ public class AnyRequirementCollection implements ItemRequirement this.requirements = requirements; } + @Override + public boolean fulfilledBy(int itemId) + { + for (ItemRequirement requirement : requirements) + { + if (requirement.fulfilledBy(itemId)) + { + return true; + } + } + + return false; + } + @Override public boolean fulfilledBy(Item[] items) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/ItemRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/ItemRequirement.java index aebd3aba1b..ba70f45871 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/ItemRequirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/ItemRequirement.java @@ -29,6 +29,8 @@ import net.runelite.api.Item; public interface ItemRequirement { + boolean fulfilledBy(int itemId); + boolean fulfilledBy(Item[] items); String getCollectiveName(Client client); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/RangeItemRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/RangeItemRequirement.java index 833de8ca74..92d1f14de8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/RangeItemRequirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/RangeItemRequirement.java @@ -40,6 +40,12 @@ public class RangeItemRequirement implements ItemRequirement this.endItemId = endItemId; } + @Override + public boolean fulfilledBy(int itemId) + { + return itemId >= startItemId && itemId <= endItemId; + } + @Override public boolean fulfilledBy(Item[] items) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/SingleItemRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/SingleItemRequirement.java index ea164374e5..5c768b38c7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/SingleItemRequirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/SingleItemRequirement.java @@ -37,6 +37,12 @@ public class SingleItemRequirement implements ItemRequirement this.itemId = itemId; } + @Override + public boolean fulfilledBy(int itemId) + { + return this.itemId == itemId; + } + @Override public boolean fulfilledBy(Item[] items) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/SlotLimitationRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/SlotLimitationRequirement.java index 36e9183970..1fae03dde5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/SlotLimitationRequirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/emote/SlotLimitationRequirement.java @@ -39,6 +39,12 @@ public class SlotLimitationRequirement implements ItemRequirement this.slots = slots; } + @Override + public boolean fulfilledBy(int itemId) + { + return false; + } + @Override public boolean fulfilledBy(Item[] items) {